mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
Convert libraries into the BYTECODE_LIBRARY style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7858 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,11 +1,17 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
LIBNAME = crtend
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=crtend
|
||||||
|
|
||||||
Source = crtend.c listend.ll
|
Source = crtend.c listend.ll
|
||||||
|
|
||||||
EXPORTED_SYMBOL_LIST = __main,llvm.global_ctors,llvm.global_dtors
|
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
|
$(LLVMGCCDIR)/bytecode-libs/crtend.o: $(LIBNAME_BC)
|
||||||
rm $(INSTALL_DIR)/libcrtend.bc
|
@cp $< $@
|
||||||
|
|
||||||
|
install:: $(LLVMGCCDIR)/bytecode-libs/crtend.o
|
||||||
|
@rm $(LLVMGCCDIR)/bytecode-libs/libcrtend.bc
|
@@ -1,6 +1,7 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=c
|
||||||
|
|
||||||
LIBNAME = c
|
include $(LEVEL)/Makefile.common
|
||||||
|
|
||||||
include ../Makefile.libs
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=gcc
|
||||||
|
|
||||||
LIBNAME = gcc
|
include $(LEVEL)/Makefile.common
|
||||||
|
|
||||||
include ../Makefile.libs
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=m
|
||||||
|
|
||||||
LIBNAME = m
|
include $(LEVEL)/Makefile.common
|
||||||
|
|
||||||
include ../Makefile.libs
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=malloc
|
||||||
|
|
||||||
LIBNAME = malloc
|
include $(LEVEL)/Makefile.common
|
||||||
|
|
||||||
include ../Makefile.libs
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
|
BYTECODE_LIBRARY=1
|
||||||
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=ucb
|
||||||
|
|
||||||
LIBNAME = ucb
|
include $(LEVEL)/Makefile.common
|
||||||
|
|
||||||
include ../Makefile.libs
|
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Libraries Makefile: Build all subdirectories automatically
|
# Libraries Makefile: Build all subdirectories automatically
|
||||||
|
|
||||||
LEVEL = ../..
|
LEVEL = ../..
|
||||||
DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
|
PARALLEL_DIRS := $(sort $(filter-out Output/, $(filter-out CVS/, $(wildcard */))))
|
||||||
|
|
||||||
include ${LEVEL}/Makefile.common
|
include ${LEVEL}/Makefile.common
|
||||||
|
|
||||||
|
@@ -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)
|
|
@@ -1,4 +1,6 @@
|
|||||||
LEVEL = ../../..
|
LEVEL = ../../..
|
||||||
LIBNAME = dummy
|
BYTECODE_LIBRARY=1
|
||||||
include ../Makefile.libs
|
DONT_BUILD_RELINKED=1
|
||||||
|
LIBRARYNAME=dummy
|
||||||
|
|
||||||
|
include $(LEVEL)/Makefile.common
|
||||||
|
@@ -1,23 +1,7 @@
|
|||||||
LEVEL = ../../..
|
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
|
|
||||||
|
Reference in New Issue
Block a user