[vmkit-commits] [vmkit] r180376 - add a rule for shared library
Peter Senna Tschudin
peter.senna at gmail.com
Thu Apr 25 10:10:33 PDT 2013
Author: peter.senna
Date: Thu Apr 25 12:03:06 2013
New Revision: 180376
URL: http://llvm.org/viewvc/llvm-project?rev=180376&view=rev
Log:
add a rule for shared library
(cherry picked from commit 2459d899bf1332cc928d84376495e17c4fdb4b30)
Modified:
vmkit/trunk/Makefile.config.in
vmkit/trunk/Makefile.rules
vmkit/trunk/autoconf/configure.ac
vmkit/trunk/configure
Modified: vmkit/trunk/Makefile.config.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.config.in?rev=180376&r1=180375&r2=180376&view=diff
==============================================================================
--- vmkit/trunk/Makefile.config.in (original)
+++ vmkit/trunk/Makefile.config.in Thu Apr 25 12:03:06 2013
@@ -33,3 +33,8 @@ $(error Unsupported classpath implementa
endif
LLVM_CONFIG=@LLVM_CONFIG@
+
+SHOPT=@SHOPT@
+LDOPT=@LDOPT@
+EXEEXT=@EXEEXT@
+SHLIBEXT=@SHLIBEXT@
Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=180376&r1=180375&r2=180376&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Thu Apr 25 12:03:06 2013
@@ -1,5 +1,8 @@
VMJC := $(ToolDir)/vmjc$(EXEEXT)
+$(LibName.SO): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) $(SharedLibDir)/.dir
+ $(Echo) "**[20] Linking $(BuildMode) $(SharedLibKindMessage) $(notdir $@)"
+ $(Verb) $(CLANGXX) -O0 -o $@ $(SHOPT) -Wl,-R -Wl,'$ORIGIN' -shared $(ObjectsO)
# Set the LLVM build file location
LLVMBuildTool := $(LLVM_SRC_ROOT)/utils/llvm-build/llvm-build
@@ -14,7 +17,7 @@ ifdef VMKIT_RUNTIME
.PRECIOUS: LLVMRuntime.inc
LLVMRuntime.inc : $(LLVMAS) $(LLC) $(VMKIT_RUNTIME)
- $(Echo) "Building LLVM runtime with $(VMKIT_RUNTIME)"
+ $(Echo) "**[7] Building LLVM runtime with $(VMKIT_RUNTIME)"
$(Verb) cat $(VMKIT_RUNTIME) | $(LLVMAS) -o - | $(LLC) $(LLC_CPP_FLAGS) -march=cpp -cppgen=contents -o $@
all-local:: LLVMRuntime.inc
@@ -35,7 +38,7 @@ ifdef VMJC_ASSEMBLY
glibj.zip.s : $(LOPT) $(LLC) $(VMJC)
glibj.zip.bc :
- $(Echo) "Compiling glibj.zip to llvm"
+ $(Echo) "**[8] Compiling glibj.zip to llvm"
$(Verb) if test -d $(GLIBJ); then \
$(VMJC) -f $(VMJC_GLIBJ_FLAGS) $(GLIBJ)/glibj.zip -o glibj.zip.bc; \
else \
@@ -43,15 +46,15 @@ glibj.zip.bc :
fi
glibj-optimized.zip.bc : glibj.zip.bc
- $(Echo) "Optimizing glibj.zip"
+ $(Echo) "**[9] Optimizing glibj.zip"
$(Verb) $(LOPT) $(OPT_VMJC_FLAGS) -f glibj.zip.bc -o glibj-optimized.zip.bc
glibj.zip.s : glibj-optimized.zip.bc
- $(Echo) "Compiling glibj.zip.bc to native"
+ $(Echo) "**[10] Compiling glibj.zip.bc to native"
$(Verb) $(LLC) $(LLC_GLIBJ_FLAGS) -disable-cfi -relocation-model=pic -disable-fp-elim glibj-optimized.zip.bc -o glibj.zip.s
$(ObjDir)/%.o: %.s $(ObjDir)/.dir $(BUILT_SOURCES)
- $(Echo) "Compiling $*.s for $(BuildMode) build" $(PIC_FLAG)
+ $(Echo) "**[11] Compiling $*.s for $(BuildMode) build" $(PIC_FLAG)
$(Verb) $(Compile.C) $< -o $(ObjDir)/$*.o
clean-local::
@@ -73,7 +76,7 @@ endif
ifeq ($(COMPILE_MMTK), 1)
all::
$(Verb) $(ANT) -buildfile $(PROJ_OBJ_ROOT)/mmtk/java/build.xml
- $(Echo) Building $(BuildMode) $(JARNAME).jar $(notdir $@)
+ $(Echo) "**[12] Building $(BuildMode) $(JARNAME).jar $(notdir $@)"
$(Verb) $(LOPT) -load=$(LibDir)/JITGCPass$(SHLIBEXT) $(OPT_MMTK_FLAGS) -JITGCPass -f $(LibDir)/MMTKAlloc.bc -o $(LibDir)/MMTKAlloc.bc
$(Verb) $(VMJC) $(VMJC_MMTK_FLAGS) -load=$(LibDir)/MMTKRuntime$(SHLIBEXT) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -LowerMagic $(PROJ_OBJ_ROOT)/mmtk/java/$(JARNAME).jar -disable-exceptions -disable-cooperativegc -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/* -Dmmtk.hostjvm=org.j3.mmtk.Factory -o $(JARNAME).bc -Dmmtk.properties=$(PROJ_SRC_ROOT)/mmtk/java/vmkit.properties -disable-stubs -assume-compiled
$(Verb) $(LOPT) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) $(OPT_MMTK_FLAGS) -LowerJavaRT -f $(JARNAME).bc -o $(JARNAME)-optimized.bc
@@ -104,7 +107,6 @@ endif
ifdef MODULE_WITH_GC
ObjectsBCWithGC := $(BaseNameSources:%=$(ObjDir)/%_gc.bc)
-#ObjectsSWithGC := $(BaseNameSources:%=$(ObjDir)/%_gc.s)
ObjectsWithGC := $(BaseNameSources:%=$(ObjDir)/%_gc.o)
AModule := $(LibDir)/lib$(MODULE_WITH_GC).a
@@ -115,19 +117,14 @@ $(ObjectsBCWithGC): $(ObjDir)/%_gc.bc: $
$(ObjectsWithGC): $(ObjDir)/%_gc.o: $(ObjDir)/%_gc.bc $(LLC)
$(Echo) "**[5] Compiling $*.bc to $*.o for $(BuildMode) build" # $(LLC_ASM_FLAGS)
$(Verb) $(LLC) -filetype=obj -disable-cfi -disable-fp-elim -load=$(VMKIT_OBJ_ROOT)/$(BuildMode)/lib/StaticGCPrinter$(SHLIBEXT) $< -o $@
-# $(Verb) $(LLC) $(LLC_ASM_FLAGS) -disable-cfi -disable-fp-elim -load=$(VMKIT_OBJ_ROOT)/$(BuildMode)/lib/StaticGCPrinter$(SHLIBEXT) $< -o $@
-
-#$(ObjectsWithGC): $(ObjDir)/%_gc.o: $(ObjDir)/%_gc.s $(ObjDir)/.dir
-# $(Echo) "Compiling $*.s for $(BuildMode) build $(PIC_FLAG) $(Compile.C)"
-# $(Verb) $(Compile.C) $< -o $@
$(AModule): $(ObjectsWithGC) $(LibDir)/.dir
- $(Echo) Building $(BuildMode) Archive Library $(notdir $@)
+ $(Echo) "**[6] Building $(BuildMode) Archive Library $(notdir $@)"
-$(Verb) $(RM) -f $@
$(Verb) $(Archive) $@ $(ObjectsWithGC)
$(Verb) $(Ranlib) $@
-all-local:: $(AModule)
+all-local:: $(AModule) $(OModule)
clean-local::
-$(Verb) $(RM) -f $(AModule) $(ObjectsBCWithGC) $(ObjectsSWithGC) $(ObjectsWithGC)
@@ -168,7 +165,7 @@ clean-local::
$(VMKIT_OPENJDK_ZIP): $(addprefix $(PROJ_SRC_DIR)/,$(OPENJDK_JAVA_SOURCES))
- $(Echo) "Building OpenJDK java sources into zip"
+ $(Echo) "**[13] Building OpenJDK java sources into zip"
-$(Verb) $(RM) -rf $@ $(CLASSES_DIR)
$(Verb) $(MKDIR) $(CLASSES_DIR)
$(Verb) $(JAVAC) $^ -d $(CLASSES_DIR)
@@ -205,7 +202,7 @@ $(ObjectsBC): $(ObjDir)/%.bc: %.cpp $(Ob
$(Echo) "**[1] Compiling $*.cpp for $(BuildMode) build (bytecode)"
$(Verb) $(CLANGXX) -S $(CXXFLAGS) -emit-llvm -c "$<" -o $@
-$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES)
+$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMCXX)
$(Echo) "**[2] Compiling $*.cpp for $(BuildMode) build (bytecode)"
$(Verb) $(CLANGXX) -S $(CXXFLAGS) -emit-llvm -c "$<" -o $@
Modified: vmkit/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/autoconf/configure.ac?rev=180376&r1=180375&r2=180376&view=diff
==============================================================================
--- vmkit/trunk/autoconf/configure.ac (original)
+++ vmkit/trunk/autoconf/configure.ac Thu Apr 25 12:03:06 2013
@@ -95,6 +95,8 @@ AC_CACHE_CHECK([type of operating system
vmkit_cv_platform_type="Unix" ;;
*-*-darwin*)
DYLIB_EXTENSION="dylib"
+ SHLIBEXT=".dylib"
+ SHOPT="-fno-common -Wl,-flat_namespace -Wl,-undefined,suppress"
vmkit_cv_os_type="Darwin"
vmkit_cv_platform_type="Unix" ;;
*-*-freebsd*)
@@ -119,6 +121,8 @@ AC_CACHE_CHECK([type of operating system
vmkit_cv_platform_type="Unix" ;;
*-*-linux*)
DYLIB_EXTENSION="so"
+ SHLIBEXT=".so"
+ LDOPT="-Wl,-export-dynamic"
vmkit_cv_os_type="Linux"
vmkit_cv_platform_type="Unix" ;;
*-*-solaris*)
@@ -142,6 +146,10 @@ esac])
dnl Make sure we aren't attempting to configure for an unknown system
AC_SUBST([DYLIB_EXTENSION])
+AC_SUBST([SHOPT])
+AC_SUBST([LDOPT])
+AC_SUBST([SHLIBEXT])
+AC_SUBST([EXEEXT])
dnl===-----------------------------------------------------------------------===
dnl===
Modified: vmkit/trunk/configure
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/configure?rev=180376&r1=180375&r2=180376&view=diff
==============================================================================
--- vmkit/trunk/configure (original)
+++ vmkit/trunk/configure Thu Apr 25 12:03:06 2013
@@ -637,7 +637,6 @@ CXXFLAGS
CXX
CPP
OBJEXT
-EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
@@ -651,6 +650,10 @@ classpathglibj
MMTK_PLAN
GC_FLAGS
WITH_64
+EXEEXT
+SHLIBEXT
+LDOPT
+SHOPT
DYLIB_EXTENSION
target_os
target_vendor
@@ -2461,6 +2464,8 @@ else
vmkit_cv_platform_type="Unix" ;;
*-*-darwin*)
DYLIB_EXTENSION="dylib"
+ SHLIBEXT=".dylib"
+ SHOPT="-fno-common -Wl,-flat_namespace -Wl,-undefined,suppress"
vmkit_cv_os_type="Darwin"
vmkit_cv_platform_type="Unix" ;;
*-*-freebsd*)
@@ -2485,6 +2490,8 @@ else
vmkit_cv_platform_type="Unix" ;;
*-*-linux*)
DYLIB_EXTENSION="so"
+ SHLIBEXT=".so"
+ LDOPT="-Wl,-export-dynamic"
vmkit_cv_os_type="Linux"
vmkit_cv_platform_type="Unix" ;;
*-*-solaris*)
@@ -2510,6 +2517,10 @@ $as_echo "$vmkit_cv_os_type" >&6; }
+
+
+
+
More information about the vmkit-commits
mailing list