1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Convert libraries into the BYTECODE_LIBRARY style

llvm-svn: 7858
This commit is contained in:
Chris Lattner 2003-08-15 02:20:32 +00:00
parent 6eb7e540eb
commit 8f04dc7f67
10 changed files with 40 additions and 93 deletions

View File

@ -1,11 +1,17 @@
LEVEL = ../../..
LIBNAME = crtend
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=crtend
Source = crtend.c listend.ll
EXPORTED_SYMBOL_LIST = __main,llvm.global_ctors,llvm.global_dtors
include ../Makefile.libs
include $(LEVEL)/Makefile.common
install:: $(DESTLIBNAME)
cp $(DESTLIBNAME) $(INSTALL_DIR)/crtend.o
rm $(INSTALL_DIR)/libcrtend.bc
$(LLVMGCCDIR)/bytecode-libs/crtend.o: $(LIBNAME_BC)
@cp $< $@
install:: $(LLVMGCCDIR)/bytecode-libs/crtend.o
@rm $(LLVMGCCDIR)/bytecode-libs/libcrtend.bc

View File

@ -1,6 +1,7 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=c
LIBNAME = c
include ../Makefile.libs
include $(LEVEL)/Makefile.common

View File

@ -1,6 +1,6 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=gcc
LIBNAME = gcc
include ../Makefile.libs
include $(LEVEL)/Makefile.common

View File

@ -1,6 +1,7 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=m
LIBNAME = m
include ../Makefile.libs
include $(LEVEL)/Makefile.common

View File

@ -1,6 +1,6 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=malloc
LIBNAME = malloc
include ../Makefile.libs
include $(LEVEL)/Makefile.common

View File

@ -1,6 +1,6 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=ucb
LIBNAME = ucb
include ../Makefile.libs
include $(LEVEL)/Makefile.common

View File

@ -1,7 +1,7 @@
# Libraries Makefile: Build all subdirectories automatically
LEVEL = ../..
DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
PARALLEL_DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
include ${LEVEL}/Makefile.common

View File

@ -1,47 +0,0 @@
# test/Libraries/Makefile.libs
#
# This makefile should be used by subdirectories, which are libraries that are
# to be compiled to llvm bytecode and linked together with a specified name.
#
# Variables to be defined before including this makefile:
#
# 1. LEVEL - Must be set as per normal semantics: The depth from the top of tree
# 2. LIBNAME - Name of library to link together. Forms lib<LIBNAME>.bc
# 3. EXPORTED_SYMBOL_LIST - If this symbol is defined, it contains a comma
# separated list of symbols that are exported by the library. All other
# symbols are marked internal, reducing namespace pollution.
#
DESTLIBDIR := $(LEVEL)/test/Libraries/Output
DESTLIBNAME := $(LEVEL)/test/Libraries/Output/lib$(LIBNAME).bc
all:: $(DESTLIBNAME)
include $(LEVEL)/test/Makefile.tests
# Figure out what object files we want to build...
LObjs := $(sort $(addsuffix .bc, $(basename $(Source))))
LObjects := $(addprefix Output/,$(LObjs))
.PRECIOUS: $(LObjects)
# If the library specified a list of symbols to export, add an internalize pass
# to the link options.
ifdef EXPORTED_SYMBOL_LIST
LLINK_OPTS += -internalize -internalize-public-api-list=$(EXPORTED_SYMBOL_LIST)
endif
# Standard set of postlink optimizations...
LLINK_OPTS += -inline -globaldce -funcresolve -deadtypeelim -instcombine -simplifycfg
# Link the library, then perform postlink optimization...
$(DESTLIBNAME): $(DESTLIBDIR)/.dir $(LObjects) $(LLINK) $(LOPT)
$(LLINK) -f $(LObjects) $(LDFLAGS) | \
$(LOPT) -f -q $(LLINK_OPTS) -o $@
# Install target for libraries: Copy into the gcc install directory.
#
INSTALL_DIR := $(LLVMGCCDIR)/bytecode-libs/
install:: $(DESTLIBNAME)
cp $(DESTLIBNAME) $(INSTALL_DIR)

View File

@ -1,4 +1,6 @@
LEVEL = ../../..
LIBNAME = dummy
include ../Makefile.libs
BYTECODE_LIBRARY=1
DONT_BUILD_RELINKED=1
LIBRARYNAME=dummy
include $(LEVEL)/Makefile.common

View File

@ -1,23 +1,7 @@
LEVEL = ../../..
BYTECODE_LIBRARY=1
#DONT_BUILD_RELINKED=1
LIBRARYNAME=gcc
LIBNAME = instr
include $(LEVEL)/Makefile.common
include ../Makefile.libs
## We need the native libraries for libinstr because they are directly
## linked into the native CBE or LLC code. That is the only practical
## way to debug them!
LIBINSTR = ../Output/libinstr.$(ARCH).a
all:: $(LIBINSTR)
tracelib: tracelib.c
g++ -g -DTEST_INSTRLIB $< -o $@
Debug/tracelib.o: tracelib.c Debug/.dir
$(CompileC) -g $< -o $@
$(LIBINSTR): Debug/tracelib.o ../Output/.dir
ar r $@ $<
tracelib.c: tracelib.h