[vmkit-commits] [vmkit] r180392 - use my rule for shared library

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:06:37 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:05:06 2013
New Revision: 180392

URL: http://llvm.org/viewvc/llvm-project?rev=180392&view=rev
Log:
use my rule for shared library
(cherry picked from commit abb0c3c8df1c98f174c21666e43dcd29caa5984f)

Modified:
    vmkit/trunk/Makefile.common.llvm
    vmkit/trunk/Makefile.rules

Modified: vmkit/trunk/Makefile.common.llvm
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.common.llvm?rev=180392&r1=180391&r2=180392&view=diff
==============================================================================
--- vmkit/trunk/Makefile.common.llvm (original)
+++ vmkit/trunk/Makefile.common.llvm Thu Apr 25 12:05:06 2013
@@ -1565,218 +1565,6 @@ endif
 endif
 endif
 
-# if we're building a library ...
-ifdef LIBRARYNAME
-
-# Make sure there isn't any extraneous whitespace on the LIBRARYNAME option
-LIBRARYNAME := $(strip $(LIBRARYNAME))
-ifdef LOADABLE_MODULE
-BaseLibName.A  := $(LIBRARYNAME).a
-BaseLibName.SO := $(LIBRARYNAME)$(SHLIBEXT)
-else
-BaseLibName.A  := lib$(LIBRARYNAME).a
-BaseLibName.SO := $(SharedPrefix)$(LIBRARYNAME)$(SHLIBEXT)
-endif
-LibName.A  := $(LibDir)/$(BaseLibName.A)
-LibName.SO := $(SharedLibDir)/$(BaseLibName.SO)
-LibName.O  := $(LibDir)/$(LIBRARYNAME).o
-LibName.BCA:= $(LibDir)/lib$(LIBRARYNAME).bca
-
-#---------------------------------------------------------
-# Shared Library Targets:
-#   If the user asked for a shared library to be built
-#   with the SHARED_LIBRARY variable, then we provide
-#   targets for building them.
-#---------------------------------------------------------
-ifdef SHARED_LIBRARY
-
-all-local:: $(LibName.SO)
-
-ifdef EXPORTED_SYMBOL_FILE
-$(LibName.SO): $(NativeExportsFile)
-endif
-
-ifdef LINK_LIBS_IN_SHARED
-ifdef LOADABLE_MODULE
-SharedLibKindMessage := "Loadable Module"
-SharedLinkOptions := $(LoadableModuleOptions) $(SharedLinkOptions)
-else
-SharedLibKindMessage := "Shared Library"
-endif
-$(LibName.SO): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) $(SharedLibDir)/.dir
-	$(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \
-	  $(notdir $@)
-	$(Verb) $(Link) $(SharedLinkOptions) -o $@ $(ObjectsO) \
-	  $(ProjLibsOptions) $(LLVMLibsOptions) $(LIBS)
-else
-$(LibName.SO): $(ObjectsO) $(SharedLibDir)/.dir
-	$(Echo) Linking $(BuildMode) Shared Library $(notdir $@)
-	$(Verb) $(Link) $(SharedLinkOptions) -o $@ $(ObjectsO)
-endif
-
-clean-local::
-ifneq ($(strip $(LibName.SO)),)
-	-$(Verb) $(RM) -f $(LibName.SO)
-endif
-
-ifdef NO_INSTALL
-install-local::
-	$(Echo) Install circumvented with NO_INSTALL
-uninstall-local::
-	$(Echo) Uninstall circumvented with NO_INSTALL
-else
-
-# Win32.DLL prefers to be located on the "PATH" of binaries.
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
-DestSharedLibDir := $(DESTDIR)$(PROJ_bindir)
-else
-DestSharedLibDir := $(DESTDIR)$(PROJ_libdir)
-endif
-DestSharedLib := $(DestSharedLibDir)/$(BaseLibName.SO)
-
-install-local:: $(DestSharedLib)
-
-$(DestSharedLib): $(LibName.SO) $(DestSharedLibDir)
-	$(Echo) Installing $(BuildMode) Shared Library $(DestSharedLib)
-	$(Verb) $(INSTALL) $(LibName.SO) $(DestSharedLib)
-
-uninstall-local::
-	$(Echo) Uninstalling $(BuildMode) Shared Library $(DestSharedLib)
-	-$(Verb) $(RM) -f $(DestSharedLibDir)/$(SharedPrefix)$(LIBRARYNAME).*
-endif
-endif
-
-#---------------------------------------------------------
-# Bytecode Library Targets:
-#   If the user asked for a bytecode library to be built
-#   with the BYTECODE_LIBRARY variable, then we provide
-#   targets for building them.
-#---------------------------------------------------------
-ifdef BYTECODE_LIBRARY
-ifeq ($(strip $(LLVMCC)),)
-$(warning Bytecode libraries require LLVM capable compiler but none is available ****)
-else
-
-all-local:: $(LibName.BCA)
-
-ifdef EXPORTED_SYMBOL_FILE
-BCLinkLib = $(LLVMLINK) -internalize-public-api-file=$(EXPORTED_SYMBOL_FILE)
-
-$(LibName.BCA): $(ObjectsBC) $(LibDir)/.dir $(LLVMLINK) \
-                $(LLVMToolDir)/llvm-ar
-	$(Echo) Building $(BuildMode) Bytecode Archive $(notdir $@) \
-	  "(internalize)"
-	$(Verb) $(BCLinkLib) -o $(ObjDir)/$(LIBRARYNAME).internalize $(ObjectsBC)
-	$(Verb) $(RM) -f $@
-	$(Verb) $(LArchive) $@ $(ObjDir)/$(LIBRARYNAME).internalize.bc
-else
-$(LibName.BCA): $(ObjectsBC) $(LibDir)/.dir \
-                $(LLVMToolDir)/llvm-ar
-	$(Echo) Building $(BuildMode) Bytecode Archive $(notdir $@)
-	$(Verb) $(RM) -f $@
-	$(Verb) $(LArchive) $@ $(ObjectsBC)
-
-endif
-
-clean-local::
-ifneq ($(strip $(LibName.BCA)),)
-	-$(Verb) $(RM) -f $(LibName.BCA)
-endif
-
-ifdef BYTECODE_DESTINATION
-BytecodeDestDir := $(BYTECODE_DESTINATION)
-else
-BytecodeDestDir := $(DESTDIR)$(PROJ_libdir)
-endif
-
-DestBytecodeLib = $(BytecodeDestDir)/lib$(LIBRARYNAME).bca
-
-install-bytecode-local:: $(DestBytecodeLib)
-
-ifdef NO_INSTALL
-install-local::
-	$(Echo) Install circumvented with NO_INSTALL
-uninstall-local::
-	$(Echo) Uninstall circumvented with NO_INSTALL
-else
-install-local:: $(DestBytecodeLib)
-
-$(DestBytecodeLib): $(LibName.BCA) $(BytecodeDestDir)
-	$(Echo) Installing $(BuildMode) Bytecode Archive $(DestBytecodeLib)
-	$(Verb) $(DataInstall) $(LibName.BCA) $(DestBytecodeLib)
-
-uninstall-local::
-	$(Echo) Uninstalling $(BuildMode) Bytecode Archive $(DestBytecodeLib)
-	-$(Verb) $(RM) -f $(DestBytecodeLib)
-endif
-endif
-endif
-
-#---------------------------------------------------------
-# Library Targets:
-#   If neither BUILD_ARCHIVE or LOADABLE_MODULE are specified, default to
-#   building an archive.
-#---------------------------------------------------------
-ifndef NO_BUILD_ARCHIVE
-ifndef BUILD_ARCHIVE
-ifndef LOADABLE_MODULE
-BUILD_ARCHIVE = 1
-endif
-endif
-endif
-
-#---------------------------------------------------------
-# Archive Library Targets:
-#   If the user wanted a regular archive library built,
-#   then we provide targets for building them.
-#---------------------------------------------------------
-ifdef BUILD_ARCHIVE
-
-all-local:: $(LibName.A)
-
-$(LibName.A): $(ObjectsO) $(LibDir)/.dir
-	$(Echo) Building $(BuildMode) Archive Library $(notdir $@)
-	-$(Verb) $(RM) -f $@
-	$(Verb) $(Archive) $@ $(ObjectsO)
-	$(Verb) $(Ranlib) $@
-
-clean-local::
-ifneq ($(strip $(LibName.A)),)
-	-$(Verb) $(RM) -f $(LibName.A)
-endif
-
-ifdef NO_INSTALL
-install-local::
-	$(Echo) Install circumvented with NO_INSTALL
-uninstall-local::
-	$(Echo) Uninstall circumvented with NO_INSTALL
-else
-ifdef NO_INSTALL_ARCHIVES
-install-local::
-	$(Echo) Install circumvented with NO_INSTALL
-uninstall-local::
-	$(Echo) Uninstall circumvented with NO_INSTALL
-else
-DestArchiveLib := $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME).a
-
-install-local:: $(DestArchiveLib)
-
-$(DestArchiveLib): $(LibName.A) $(DESTDIR)$(PROJ_libdir)
-	$(Echo) Installing $(BuildMode) Archive Library $(DestArchiveLib)
-	$(Verb) $(MKDIR) $(DESTDIR)$(PROJ_libdir)
-	$(Verb) $(INSTALL) $(LibName.A) $(DestArchiveLib)
-
-uninstall-local::
-	$(Echo) Uninstalling $(BuildMode) Archive Library $(DestArchiveLib)
-	-$(Verb) $(RM) -f $(DestArchiveLib)
-endif
-endif
-endif
-
-# endif LIBRARYNAME
-endif
-
-
 ###############################################################################
 # OTHER RULES: Other rules needed
 ###############################################################################

Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=180392&r1=180391&r2=180392&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Thu Apr 25 12:05:06 2013
@@ -81,9 +81,16 @@ ifdef TOOLNAME
 all:: $(BINDIR)/$(TOOLNAME)$(EXEEXT)
 
 $(BINDIR)/$(TOOLNAME)$(EXEEXT): $(ObjectsO) $(USEDLIBS) $(SELF) $(BINDIR)/.dir
-	$(Echo) '**[30] Linking executable $(TOOLNAME)'
+	$(Echo) 'Linking executable $(notdir $@)'
 	$(Verb) $(CLANGXX) -o $@ $(ObjectsO) $(USEDLIBS) $(MY_LIBS) $(MY_LDFLAGS) 
+endif
+
+ifdef LIBRARYNAME
+all:: $(LIBDIR)/$(LIBRARYNAME)$(SHLIBEXT)
 
+$(LIBDIR)/$(LIBRARYNAME)$(SHLIBEXT): $(ObjectsO) $(SELF) $(LIBDIR)/.dir
+	$(Echo) "Linking shared library $(notdir $@)"
+	$(Verb) $(CLANGXX) -O0 -o $@ $(SHOPT) -Wl,-R -Wl,'$ORIGIN' -shared $(ObjectsO)
 endif
 
 #
@@ -254,15 +261,6 @@ CXXFLAGS+=$(COMMON_CFLAGS) `$(LLVM_CONFI
 MY_LDFLAGS+=`$(LLVM_CONFIG) --ldflags` $(LDOPT)
 MY_LIBS+=`$(LLVM_CONFIG) --libs` -lz
 
-$(ToolBuildPath): $(ObjectsO) $(USEDLIBS)
-	$(Echo) '**[30] Linking $(BuildMode) executable $(TOOLNAME) $(StripWarnMsg)'
-	$(Verb) $(CLANGXX) -o $@ $(ObjectsO) $(USEDLIBS) $(MY_LIBS) $(MY_LDFLAGS) 
-#	$(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(USEDLIBS) $(TOOLLINKOPTSB) $(MY_LIBS) $(MY_LDFLAGS)
-
-$(LibName.SO): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths) $(SharedLibDir)/.dir
-	$(Echo) "**[20] Linking $(BuildMode) $(SharedLibKindMessage) $(notdir $@)"
-	$(Verb) $(CLANGXX) -O0 -o $@ $(SHOPT) -Wl,-R -Wl,'$ORIGIN' -shared $(ObjectsO)
-
 $(LibName.BCA): $(ObjectsBC) $(LibDir)/.dir $(LLVMToolDir)/llvm-ar
 	$(Echo) "**[22] Building $(BuildMode) Bytecode Archive $(notdir $@)"
 	$(Verb) $(RM) -f $@





More information about the vmkit-commits mailing list