[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