From ea2805f097414bf7bf299c131be1aba27b79f5d1 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Wed, 2 Apr 2014 21:27:22 +0200 Subject: [PATCH] shared libs: Build libtcc1.a with -fPIC TCCs runtime library must be compiled as position independend code, so it can be linked into shared libraries. --- lib/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Makefile b/lib/Makefile index 394df674..7ef267f1 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -49,6 +49,10 @@ ARM_O = libtcc1.o armeabi.o WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o +# build TCC runtime library to contain PIC code, so it can be linked +# into shared libraries +PICFLAGS = -fPIC + ifeq "$(TARGET)" "i386-win32" OBJ = $(addprefix $(DIR)/,$(WIN32_O)) TGT = -DTCC_TARGET_I386 -DTCC_TARGET_PE @@ -83,7 +87,7 @@ endif endif endif -XFLAGS = $(CPPFLAGS) $(CFLAGS) $(TGT) +XFLAGS = $(CPPFLAGS) $(CFLAGS) $(PICFLAGS) $(TGT) ifeq ($(TARGETOS),Darwin) XAR = $(DIR)/tiny_libmaker$(EXESUF) -- 2.11.4.GIT