Bmake glue for GCC 3.4.2-prerelease.
This commit is contained in:
parent
2814077c60
commit
81efba8c9e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=132751
@ -766,10 +766,6 @@ _aicasm= sys/modules/aic7xxx/aicasm
|
||||
_share= share/syscons/scrnmaps
|
||||
.endif
|
||||
|
||||
.if !defined(NO_FORTRAN)
|
||||
_fortran= gnu/usr.bin/cc/f771
|
||||
.endif
|
||||
|
||||
.if !defined(NO_KERBEROS) && !defined(NOCRYPT) && !defined(NO_OPENSSL)
|
||||
_kerberos5_tools= kerberos5/tools
|
||||
.endif
|
||||
@ -784,7 +780,6 @@ build-tools:
|
||||
bin/sh \
|
||||
${_rescue} \
|
||||
gnu/usr.bin/cc/cc_tools \
|
||||
${_fortran} \
|
||||
lib/libncurses \
|
||||
${_share} \
|
||||
${_aicasm} \
|
||||
|
@ -12,11 +12,13 @@
|
||||
bsnmp
|
||||
..
|
||||
c++
|
||||
3.3
|
||||
3.4
|
||||
backward
|
||||
..
|
||||
bits
|
||||
..
|
||||
debug
|
||||
..
|
||||
ext
|
||||
..
|
||||
..
|
||||
|
@ -6,14 +6,14 @@ CCDIR= ${.CURDIR}/../../usr.bin/cc
|
||||
|
||||
.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
|
||||
|
||||
SRCS= crtstuff.c tconfig.h
|
||||
SRCS= crtstuff.c tconfig.h tm.h
|
||||
OBJS= crtbegin.o crtend.o
|
||||
SOBJS= crtbegin.So crtend.So
|
||||
CSTD?= gnu89
|
||||
CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR
|
||||
CFLAGS+= -finhibit-size-directive -fno-inline-functions \
|
||||
-fno-exceptions -fno-zero-initialized-in-bss \
|
||||
-fno-omit-frame-pointer
|
||||
-fno-omit-frame-pointer -fno-unit-at-a-time
|
||||
CFLAGS+= -I${GCCDIR}/config -I${GCCDIR} -I. \
|
||||
-I${CCDIR}/cc_tools
|
||||
CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG}
|
||||
@ -38,7 +38,7 @@ BEGINSRC?= crtstuff.c
|
||||
ENDSRC?= crtstuff.c
|
||||
|
||||
all: ${OBJS} ${SOBJS} ${TGTOBJS}
|
||||
${OBJS} ${SOBJS}: tconfig.h
|
||||
${OBJS} ${SOBJS}: tm.h
|
||||
|
||||
CLEANFILES= ${OBJS} ${SOBJS} ${TGTOBJS}
|
||||
|
||||
@ -58,8 +58,8 @@ crtend.So: ${ENDSRC}
|
||||
${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \
|
||||
-c -o ${.TARGET} ${.ALLSRC:N*.h}
|
||||
|
||||
CLEANFILES+= tconfig.h
|
||||
tconfig.h: ${CCDIR}/cc_tools/Makefile
|
||||
CLEANFILES+= tm.h tconfig.h
|
||||
tm.h tconfig.h: ${CCDIR}/cc_tools/Makefile
|
||||
${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
|
||||
|
||||
realinstall:
|
||||
|
@ -59,7 +59,7 @@ U77SRCS= gerror_.c perror_.c ierrno_.c itime_.c time_.c \
|
||||
etime_.c dtime_.c isatty_.c ltime_.c fstat_.c stat_.c \
|
||||
lstat_.c access_.c link_.c getlog_.c ttynam_.c getcwd_.c \
|
||||
symlnk_.c vxttime_.c vxtidate_.c gmtime_.c fdate_.c \
|
||||
secnds_.c bes.c dbes.c chdir_.c chmod_.c lnblnk_.c \
|
||||
secnds_.c chdir_.c chmod_.c lnblnk_.c \
|
||||
hostnm_.c rename_.c fgetc_.c fputc_.c umask_.c \
|
||||
sys_clock_.c date_.c second_.c flush1_.c mclock_.c \
|
||||
alarm_.c datetime_.c
|
||||
|
@ -44,41 +44,43 @@ OBJS= # added to below in various ways depending on TARGET_ARCH
|
||||
#
|
||||
# When upgrading GCC, get the following defintions straight from Makefile.in
|
||||
#
|
||||
|
||||
# Library members defined in libgcc2.c.
|
||||
# Variable length limited to 255 charactes when passed to a shell script.
|
||||
LIB2FUNCS_1 = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
|
||||
_cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \
|
||||
_fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
|
||||
|
||||
LIB2FUNCS_2 = _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf \
|
||||
_clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3 \
|
||||
_addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
|
||||
LIB2FUNCS = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 \
|
||||
_cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \
|
||||
_fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi \
|
||||
_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf _clear_cache \
|
||||
_enable_execute_stack _trampoline __main _absvsi2 _absvdi2 _addvsi3 \
|
||||
_addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors \
|
||||
_ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 _ctzsi2 _ctzdi2 _popcount_tab \
|
||||
_popcountsi2 _popcountdi2 _paritysi2 _paritydi2
|
||||
|
||||
# Defined in libgcc2.c, included only in the static library.
|
||||
LIB2FUNCS_ST = _eprintf _bb __gcc_bcmp
|
||||
LIB2FUNCS_ST = _eprintf __gcc_bcmp
|
||||
|
||||
FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
|
||||
_fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
|
||||
_lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf \
|
||||
_sf_to_df _thenan_sf _sf_to_usi _usi_to_sf
|
||||
_sf_to_df _sf_to_tf _thenan_sf _sf_to_usi _usi_to_sf
|
||||
|
||||
DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
|
||||
_fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \
|
||||
_lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
|
||||
_df_to_sf _thenan_df _df_to_usi _usi_to_df
|
||||
_df_to_sf _df_to_tf _thenan_df _df_to_usi _usi_to_df
|
||||
|
||||
TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \
|
||||
_fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf \
|
||||
_lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf \
|
||||
_tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf
|
||||
|
||||
# These might cause a divide overflow trap and so are compiled with
|
||||
# unwinder info.
|
||||
LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
|
||||
|
||||
MACHMODE_H = machmode.h machmode.def
|
||||
|
||||
LIB2ADD = $(LIB2FUNCS_EXTRA)
|
||||
LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
|
||||
|
||||
# Additional sources to handle exceptions; overridden on ia64.
|
||||
LIB2ADDEH = unwind-dw2.c unwind-dw2-fde.c unwind-sjlj.c unwind-c.c
|
||||
# Additional sources to handle exceptions; overridden by targets as needed.
|
||||
LIB2ADDEH = unwind-dw2.c unwind-dw2-fde.c unwind-sjlj.c gthr-gnat.c unwind-c.c
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
#
|
||||
@ -93,8 +95,10 @@ LIB2FUNCS_EXTRA = qrnnd.asm
|
||||
|
||||
.if ${TARGET_ARCH} == "arm"
|
||||
# from config/arm/t-strongarm-elf
|
||||
LIB1ASMSRC = lib1funcs.asm
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
|
||||
CFLAGS+= -Dinhibit_libc -fno-inline
|
||||
LIB1ASMSRC = lib1funcs.asm
|
||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
|
||||
OBJS+= dp-bit.o fp-bit.o
|
||||
# We want fine grained libraries, so use the new code to build the
|
||||
# floating point emulation libraries.
|
||||
XXX fix this: NEED_FP_EMULATION set to "yes" with different rules per platform
|
||||
@ -103,11 +107,11 @@ XXX fix this: NEED_FP_EMULATION set to "yes" with different rules per platform
|
||||
.if ${TARGET_ARCH} == "ia64"
|
||||
# from config/ia64/t-ia64
|
||||
LIB1ASMSRC = lib1funcs.asm
|
||||
LIB1ASMFUNCS = __divtf3 __divdf3 __divsf3 \
|
||||
__divdi3 __moddi3 __udivdi3 __umoddi3 \
|
||||
__divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \
|
||||
__nonlocal_goto __restore_stack_nonlocal __trampoline
|
||||
LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c
|
||||
LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \
|
||||
__divdi3 __moddi3 __udivdi3 __umoddi3 \
|
||||
__divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal \
|
||||
__nonlocal_goto __restore_stack_nonlocal __trampoline __compat
|
||||
LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c gthr-gnat.c
|
||||
.endif
|
||||
|
||||
.if ${TARGET_ARCH} == "powerpc"
|
||||
@ -178,11 +182,11 @@ OBJS_S= ${SYMS:S/$/.So/}
|
||||
STATICOBJS= ${SYMS_ST:S/$/.o/}
|
||||
SRCS= ${LIB2ADD} ${LIB2ADDEH}
|
||||
|
||||
COMMONHDRS= tconfig.h
|
||||
COMMONHDRS= tm.h tconfig.h
|
||||
SRCS+= ${COMMONHDRS}
|
||||
CLEANFILES+= ${COMMONHDRS}
|
||||
|
||||
tconfig.h: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
|
||||
${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
|
||||
${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
|
||||
|
||||
${OBJS} beforedepend: ${COMMONHDRS}
|
||||
|
@ -23,12 +23,12 @@ INCSDIR=${INCLUDEDIR}/objc
|
||||
CFLAGS+= -fpic
|
||||
.endif
|
||||
|
||||
CFLAGS+= -fgnu-runtime -DHAVE_GTHR_DEFAULT -DIN_TARGET_LIBS
|
||||
CFLAGS+= -fgnu-runtime -DHAVE_GTHR_DEFAULT -DIN_GCC -DIN_TARGET_LIBS
|
||||
CFLAGS+= -I. -I${.CURDIR}/../../usr.bin/cc/cc_tools
|
||||
CFLAGS+= -I${OBJCDIR}/objc -I${OBJCDIR}
|
||||
CFLAGS+= -I${GCCDIR}/config -I${GCCDIR}
|
||||
|
||||
GENHDRS= runtime-info.h tconfig.h
|
||||
GENHDRS= runtime-info.h tconfig.h tm.h
|
||||
CLEANFILES+= ${GENHDRS}
|
||||
SRCS+= ${GENHDRS}
|
||||
|
||||
@ -38,7 +38,7 @@ runtime-info.h:
|
||||
`${CC} --print-prog-name=cc1obj` -print-objc-runtime-info \
|
||||
< /dev/null > ${.TARGET}
|
||||
|
||||
tconfig.h: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
|
||||
tconfig.h tm.h : ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
|
||||
${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -5,33 +5,32 @@ SRCDIR= ${.CURDIR}/../../../contrib/libstdc++
|
||||
SUPDIR= ${SRCDIR}/libsupc++
|
||||
|
||||
.PATH: ${SRCDIR}/src ${SRCDIR}/libmath ${SRCDIR}/config/io \
|
||||
${SRCDIR}/config/locale/generic ${SRCDIR} ${SRCDIR}/std \
|
||||
${SRCDIR}/config/locale/generic ${SRCDIR}/include \
|
||||
${SUPDIR} ${GCCDIR}
|
||||
|
||||
#SUBDIR= doc
|
||||
|
||||
LIB= stdc++
|
||||
SHLIB_MAJOR= 4
|
||||
|
||||
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
|
||||
CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR}
|
||||
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections -Wno-deprecated
|
||||
#LDFLAGS+= -Wl,-version-info,4:0:0 -Wl,--version-script=${SRCDIR}/src/linker.map
|
||||
CFLAGS+= -I${.CURDIR} -I${SUPDIR} -I${GCCDIR} -I${SRCDIR}/include
|
||||
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections \
|
||||
-Wno-deprecated
|
||||
|
||||
LDADD= -lm
|
||||
DPADD= ${LIBM}
|
||||
|
||||
# libstdc++ sources (libstdc++/src/Makefile.in, do not reorder)
|
||||
SRCS+= bitset.cc codecvt.cc complex_io.cc concept-inst.cc ctype.cc \
|
||||
ext-inst.cc fstream.cc fstream-inst.cc functexcept.cc \
|
||||
globals.cc io-inst.cc ios.cc istream-inst.cc limits.cc \
|
||||
locale.cc locale-inst.cc localename.cc misc-inst.cc \
|
||||
ostream-inst.cc sstream-inst.cc stdexcept.cc stl-inst.cc \
|
||||
streambuf-inst.cc string-inst.cc strstream-fixed.cc \
|
||||
valarray-inst.cc vterminate.cc wstring-inst.cc
|
||||
# libstdc++ sources
|
||||
SRCS+= allocator.cc codecvt.cc complex_io.cc ctype.cc debug.cc functexcept.cc \
|
||||
globals_locale.cc globals_io.cc ios.cc ios_failure.cc ios_init.cc \
|
||||
ios_locale.cc limits.cc list.cc locale.cc locale_init.cc \
|
||||
locale_facets.cc localename.cc stdexcept.cc strstream.cc tree.cc \
|
||||
allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc \
|
||||
io-inst.cc istream-inst.cc locale-inst.cc locale-misc-inst.cc \
|
||||
misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc \
|
||||
string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc
|
||||
|
||||
# target sources
|
||||
SRCS+= codecvt_members.cc collate_members.cc ctype_members.cc \
|
||||
SRCS+= atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc \
|
||||
messages_members.cc monetary_members.cc numeric_members.cc \
|
||||
time_members.cc
|
||||
|
||||
@ -39,80 +38,43 @@ SRCS+= codecvt_members.cc collate_members.cc ctype_members.cc \
|
||||
SRCS+= basic_file_stdio.cc c_locale.cc
|
||||
|
||||
# C parts of math
|
||||
SRCS+= nan.c signbit.c signbitf.c signbitl.c stubs.c
|
||||
SRCS+= signbitf.c signbitl.c stubs.c
|
||||
|
||||
# Embedded copy of libsupc++
|
||||
SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc \
|
||||
eh_alloc.cc eh_aux_runtime.cc eh_catch.cc eh_exception.cc \
|
||||
eh_globals.cc eh_personality.cc eh_terminate.cc eh_throw.cc eh_type.cc \
|
||||
guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc \
|
||||
pure.cc tinfo.cc tinfo2.cc vec.cc
|
||||
SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc \
|
||||
eh_aux_runtime.cc eh_catch.cc eh_exception.cc eh_globals.cc \
|
||||
eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \
|
||||
eh_type.cc eh_unex_handler.cc guard.cc new_handler.cc new_op.cc \
|
||||
new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \
|
||||
vec.cc vterminate.cc
|
||||
|
||||
# from libiberty:
|
||||
SRCS+= cp-demangle.c dyn-string.c
|
||||
SRCS+= cp-demangle.c
|
||||
|
||||
strstream-fixed.cc: ${SRCDIR}/src/strstream.cc
|
||||
sed -e 's,^#include <strstream>,#include <backward/strstream>,g' \
|
||||
< ${SRCDIR}/src/strstream.cc > strstream-fixed.cc
|
||||
# MD headers location
|
||||
.if ${MACHINE_ARCH} == "sparc64"
|
||||
MARCHDIR= sparc
|
||||
.elif ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU} != 'i386'
|
||||
MARCHDIR= i486
|
||||
.elif ${MACHINE_ARCH} == "amd64"
|
||||
MARCHDIR= i486
|
||||
.else
|
||||
MARCHDIR= ${MACHINE_ARCH}
|
||||
.endif
|
||||
|
||||
CLEANFILES+= strstream-fixed.cc
|
||||
ATOMICITY_H= atomicity.h
|
||||
.if exists(${SRCDIR}/config/cpu/${MARCHDIR}/atomicity.h)
|
||||
ATOMICITY_H= ${SRCDIR}/config/cpu/${MARCHDIR}/atomicity.h
|
||||
.else
|
||||
ATOMICITY_H= ${SRCDIR}/config/cpu/generic/atomicity.h
|
||||
.endif
|
||||
|
||||
atomicity.cc: ${ATOMICITY_H}
|
||||
ln -sf ${.ALLSRC} ${.TARGET}
|
||||
|
||||
INCSGROUPS= BITSHDRS BKWHDRS EXTHDRS BASEHDRS BASEXHDRS STDHDRS \
|
||||
TARGETHDRS THRHDRS
|
||||
|
||||
BITSHDRS= basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc \
|
||||
boost_concept_check.h char_traits.h codecvt.h concept_check.h \
|
||||
cpp_type_traits.h deque.tcc fpos.h fstream.tcc functexcept.h \
|
||||
gslice.h gslice_array.h indirect_array.h \
|
||||
ios_base.h istream.tcc list.tcc \
|
||||
locale_classes.h locale_facets.h locale_facets.tcc \
|
||||
localefwd.h mask_array.h ostream.tcc pthread_allocimpl.h \
|
||||
slice_array.h sstream.tcc stl_algo.h stl_algobase.h \
|
||||
stl_alloc.h stl_bvector.h stl_construct.h stl_deque.h \
|
||||
stl_function.h stl_heap.h stl_iterator.h \
|
||||
stl_iterator_base_funcs.h stl_iterator_base_types.h \
|
||||
stl_list.h stl_map.h stl_multimap.h stl_multiset.h \
|
||||
stl_numeric.h stl_pair.h stl_pthread_alloc.h stl_queue.h \
|
||||
stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h \
|
||||
stl_tempbuf.h stl_threads.h stl_tree.h stl_uninitialized.h \
|
||||
stl_vector.h stream_iterator.h streambuf.tcc \
|
||||
streambuf_iterator.h stringfwd.h type_traits.h \
|
||||
valarray_array.h valarray_array.tcc valarray_meta.h \
|
||||
vector.tcc
|
||||
BITSHDRS:= ${BITSHDRS:S;^;${SRCDIR}/include/bits/;}
|
||||
BITSHDRSDIR= ${INCLUDEDIR}/c++/3.3/bits
|
||||
|
||||
BKWHDRS= algo.h algobase.h alloc.h backward_warning.h bvector.h \
|
||||
complex.h defalloc.h deque.h fstream.h function.h \
|
||||
hash_map.h hash_set.h hashtable.h heap.h iomanip.h \
|
||||
iostream.h istream.h iterator.h list.h map.h multimap.h \
|
||||
multiset.h new.h ostream.h pair.h queue.h rope.h set.h \
|
||||
slist.h stack.h stream.h streambuf.h strstream \
|
||||
tempbuf.h tree.h vector.h
|
||||
BKWHDRS:= ${BKWHDRS:S;^;${SRCDIR}/include/backward/;}
|
||||
BKWHDRSDIR= ${INCLUDEDIR}/c++/3.3/backward
|
||||
|
||||
EXTHDRS= algorithm enc_filebuf.h functional hash_map hash_set \
|
||||
iterator memory numeric rb_tree rope ropeimpl.h slist \
|
||||
stdio_filebuf.h stl_hash_fun.h stl_hashtable.h stl_rope.h
|
||||
EXTHDRS:= ${EXTHDRS:S;^;${SRCDIR}/include/ext/;}
|
||||
EXTHDRSDIR= ${INCLUDEDIR}/c++/3.3/ext
|
||||
|
||||
# This is the common subset of files that all three "C" header models use.
|
||||
BASEHDRS= std_cassert.h std_cctype.h std_cerrno.h std_cfloat.h \
|
||||
std_ciso646.h std_climits.h std_clocale.h std_cmath.h \
|
||||
std_csetjmp.h std_csignal.h std_cstdarg.h std_cstddef.h \
|
||||
std_cstdio.h std_cstdlib.h std_cstring.h std_ctime.h \
|
||||
std_cwchar.h std_cwctype.h
|
||||
.for h in ${BASEHDRS}
|
||||
BASEHDRSNAME_$h=${h:R:S;^std_;;}
|
||||
.endfor
|
||||
BASEHDRS:= ${BASEHDRS:S;^;${SRCDIR}/include/c_std/;}
|
||||
BASEHDRSDIR= ${INCLUDEDIR}/c++/3.3
|
||||
|
||||
# Some of the different "C" header models need extra files.
|
||||
BASEXHDRS= ${SRCDIR}/include/c_std/cmath.tcc
|
||||
BASEXHDRSDIR= ${INCLUDEDIR}/c++/3.3/bits
|
||||
TARGETHDRS THRHDRS DEBUGHDRS
|
||||
CXXINCLUDEDIR= ${INCLUDEDIR}/c++/3.4
|
||||
|
||||
STDHDRS= std_algorithm.h std_bitset.h std_complex.h std_deque.h \
|
||||
std_fstream.h std_functional.h std_iomanip.h std_ios.h \
|
||||
@ -125,34 +87,91 @@ STDHDRS= std_algorithm.h std_bitset.h std_complex.h std_deque.h \
|
||||
STDHDRSNAME_$h=${h:R:S;^std_;;}
|
||||
.endfor
|
||||
STDHDRS:= ${STDHDRS:S;^;${SRCDIR}/include/std/;}
|
||||
STDHDRSDIR= ${INCLUDEDIR}/c++/3.3
|
||||
STDHDRSDIR= ${CXXINCLUDEDIR}
|
||||
|
||||
TARGETHDRS= io/basic_file_stdio.h io/c_io_stdio.h \
|
||||
BITSHDRS= allocator.h atomicity.h basic_ios.h basic_ios.tcc \
|
||||
basic_string.h basic_string.tcc boost_concept_check.h \
|
||||
char_traits.h codecvt.h concept_check.h concurrence.h \
|
||||
cpp_type_traits.h deque.tcc fstream.tcc functexcept.h \
|
||||
gslice.h gslice_array.h indirect_array.h ios_base.h \
|
||||
istream.tcc list.tcc locale_classes.h locale_facets.h \
|
||||
locale_facets.tcc localefwd.h mask_array.h ostream.tcc \
|
||||
postypes.h stream_iterator.h streambuf_iterator.h \
|
||||
slice_array.h sstream.tcc stl_algo.h stl_algobase.h \
|
||||
stl_bvector.h stl_construct.h stl_deque.h stl_function.h \
|
||||
stl_heap.h stl_iterator.h stl_iterator_base_funcs.h \
|
||||
stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h \
|
||||
stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h \
|
||||
stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h \
|
||||
stl_tempbuf.h stl_threads.h stl_tree.h stl_uninitialized.h \
|
||||
stl_vector.h streambuf.tcc stringfwd.h type_traits.h \
|
||||
valarray_array.h valarray_array.tcc valarray_before.h \
|
||||
valarray_after.h vector.tcc
|
||||
BITSHDRS:= ${BITSHDRS:S;^;${SRCDIR}/include/bits/;}
|
||||
BITSHDRSDIR= ${CXXINCLUDEDIR}/bits
|
||||
|
||||
BKWHDRS= complex.h iomanip.h istream.h ostream.h stream.h streambuf.h \
|
||||
algo.h algobase.h alloc.h bvector.h defalloc.h deque.h \
|
||||
function.h hash_map.h hash_set.h hashtable.h heap.h iostream.h \
|
||||
iterator.h list.h map.h multimap.h new.h multiset.h pair.h \
|
||||
queue.h rope.h set.h slist.h stack.h tempbuf.h tree.h \
|
||||
vector.h fstream.h strstream backward_warning.h
|
||||
BKWHDRS:= ${BKWHDRS:S;^;${SRCDIR}/include/backward/;}
|
||||
BKWHDRSDIR= ${CXXINCLUDEDIR}/backward
|
||||
|
||||
EXTHDRS= algorithm bitmap_allocator.h debug_allocator.h demangle.h \
|
||||
enc_filebuf.h stdio_filebuf.h stdio_sync_filebuf.h functional \
|
||||
hash_map hash_set iterator malloc_allocator.h memory \
|
||||
mt_allocator.h new_allocator.h numeric pod_char_traits.h \
|
||||
pool_allocator.h rb_tree rope ropeimpl.h slist hash_fun.h \
|
||||
hashtable.h
|
||||
EXTHDRS:= ${EXTHDRS:S;^;${SRCDIR}/include/ext/;}
|
||||
EXTHDRSDIR= ${CXXINCLUDEDIR}/ext
|
||||
|
||||
# This is the common subset of files that all three "C" header models use.
|
||||
BASEHDRS= std_cassert.h std_cctype.h std_cerrno.h std_cfloat.h \
|
||||
std_ciso646.h std_climits.h std_clocale.h std_cmath.h \
|
||||
std_csetjmp.h std_csignal.h std_cstdarg.h std_cstddef.h \
|
||||
std_cstdio.h std_cstdlib.h std_cstring.h std_ctime.h \
|
||||
std_cwchar.h std_cwctype.h
|
||||
.for h in ${BASEHDRS}
|
||||
BASEHDRSNAME_$h=${h:R:S;^std_;;}
|
||||
.endfor
|
||||
BASEHDRS:= ${BASEHDRS:S;^;${SRCDIR}/include/c_std/;}
|
||||
BASEHDRSDIR= ${CXXINCLUDEDIR}
|
||||
|
||||
# Some of the different "C" header models need extra files.
|
||||
BASEXHDRS= ${SRCDIR}/include/c_std/cmath.tcc
|
||||
BASEXHDRSDIR= ${CXXINCLUDEDIR}/bits
|
||||
|
||||
DEBUGHDRS= bitset debug.h deque formatter.h hash_map hash_map.h \
|
||||
hash_multimap.h hash_multiset.h hash_set hash_set.h list \
|
||||
map map.h multimap.h multiset.h safe_base.h safe_iterator.h \
|
||||
safe_iterator.tcc safe_sequence.h set set.h string vector
|
||||
DEBUGHDRS:= ${DEBUGHDRS:S;^;${SRCDIR}/include/debug/;}
|
||||
DEBUGHDRSDIR= ${CXXINCLUDEDIR}/debug
|
||||
|
||||
TARGETHDRS= allocator/new_allocator_base.h \
|
||||
io/basic_file_stdio.h \
|
||||
io/c_io_stdio.h \
|
||||
locale/generic/c_locale.h \
|
||||
locale/generic/c++locale_internal.h \
|
||||
locale/generic/codecvt_specializations.h \
|
||||
locale/generic/messages_members.h \
|
||||
locale/generic/time_members.h \
|
||||
locale/generic/codecvt_specializations.h \
|
||||
os/bsd/freebsd/ctype_base.h \
|
||||
os/bsd/freebsd/ctype_inline.h \
|
||||
os/bsd/freebsd/ctype_noninline.h \
|
||||
os/bsd/freebsd/os_defines.h
|
||||
TARGETHDRS:= ${TARGETHDRS:S;^;${SRCDIR}/config/;}
|
||||
TARGETHDRS+= ${.CURDIR}/c++config.h
|
||||
TARGETHDRS+= c++config.h
|
||||
TARGETHDRSNAME_basic_file_stdio.h= basic_file.h
|
||||
TARGETHDRSNAME_c_io_stdio.h= c++io.h
|
||||
TARGETHDRSNAME_c_locale.h= c++locale.h
|
||||
TARGETHDRSDIR= ${INCLUDEDIR}/c++/3.3/bits
|
||||
|
||||
MARCHHDRS= atomicity.h
|
||||
.if ${MACHINE_ARCH} == "sparc64"
|
||||
MARCHDIR= sparc
|
||||
.elif ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU} != 'i386'
|
||||
MARCHDIR= i486
|
||||
.else
|
||||
MARCHDIR= ${MACHINE_ARCH}
|
||||
.endif
|
||||
TARGETHDRSNAME_new_allocator_base.h= c++allocator.h
|
||||
TARGETHDRSDIR= ${CXXINCLUDEDIR}/bits
|
||||
|
||||
MARCHHDRS= atomic_word.h
|
||||
.for h in ${MARCHHDRS}
|
||||
.if exists(${SRCDIR}/config/cpu/${MARCHDIR}/${h})
|
||||
TARGETHDRS+= ${SRCDIR}/config/cpu/${MARCHDIR}/${h}
|
||||
@ -162,31 +181,45 @@ TARGETHDRS+= ${SRCDIR}/config/cpu/generic/${h}
|
||||
.endfor
|
||||
|
||||
THRHDRS= gthr.h gthr-single.h gthr-posix.h gthr-default.h
|
||||
THRHDRSDIR= ${INCLUDEDIR}/c++/3.3/bits
|
||||
THRHDRSDIR= ${CXXINCLUDEDIR}/bits
|
||||
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
|
||||
|
||||
gthr.h: ${GCCDIR}/gthr.h
|
||||
sed -e '/^#/s/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*\)/_GLIBCPP_\1/g' \
|
||||
sed -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
|
||||
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
||||
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
|
||||
< ${GCCDIR}/gthr.h > gthr.h
|
||||
< ${.ALLSRC} > ${.TARGET}
|
||||
|
||||
gthr-single.h: ${GCCDIR}/gthr-single.h
|
||||
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
|
||||
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
|
||||
< ${GCCDIR}/gthr-single.h > gthr-single.h
|
||||
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
|
||||
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
|
||||
< ${.ALLSRC} > ${.TARGET}
|
||||
|
||||
gthr-posix.h: ${GCCDIR}/gthr-posix.h
|
||||
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
|
||||
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
|
||||
-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*WEAK\)/_GLIBCPP_\1/g' \
|
||||
< ${GCCDIR}/gthr-posix.h > gthr-posix.h
|
||||
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
|
||||
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
|
||||
-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
||||
-e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
|
||||
< ${.ALLSRC} > ${.TARGET}
|
||||
|
||||
gthr-default.h: ${GCCDIR}/gthr-posix.h
|
||||
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
|
||||
-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCPP_\1/g' \
|
||||
-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*WEAK\)/_GLIBCPP_\1/g' \
|
||||
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
|
||||
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
|
||||
-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
|
||||
-e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
|
||||
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
|
||||
< ${GCCDIR}/gthr-posix.h > gthr-default.h
|
||||
< ${.ALLSRC} > ${.TARGET}
|
||||
|
||||
CLEANFILES+= ${THRHDRS}
|
||||
|
||||
c++config.h: ${.CURDIR}/config.h ${SRCDIR}/include/bits/c++config
|
||||
cat ${SRCDIR}/include/bits/c++config > ${.TARGET} && \
|
||||
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
|
||||
-e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
|
||||
-e 's/VERSION/_GLIBCXX_VERSION/g' \
|
||||
-e 's/WORDS_/_GLIBCXX_WORDS_/g' \
|
||||
< ${.CURDIR}/config.h >> ${.TARGET} && \
|
||||
echo "#endif // _CXXCONFIG_" >> ${.TARGET}
|
||||
CLEANFILES+= c++config.h
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ SRCS= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc \
|
||||
pure.cc tinfo.cc tinfo2.cc vec.cc
|
||||
|
||||
# from libiberty:
|
||||
SRCS+= cp-demangle.c dyn-string.c
|
||||
SRCS+= cp-demangle.c
|
||||
|
||||
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
|
||||
CFLAGS+= -I${SRCDIR} -I${GCCDIR} -I${.CURDIR}/../libstdc++
|
||||
@ -22,6 +22,6 @@ CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections
|
||||
|
||||
HDRS= exception new typeinfo cxxabi.h exception_defines.h
|
||||
INCS= ${HDRS:S;^;${SRCDIR}/;}
|
||||
INCSDIR=${INCLUDEDIR}/c++/3.3
|
||||
INCSDIR=${INCLUDEDIR}/c++/3.4
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -10,7 +10,7 @@ SUBDIR+= cpp
|
||||
.endif
|
||||
|
||||
.if !defined(NO_CXX)
|
||||
SUBDIR+= cc1plus c++ c++filt
|
||||
SUBDIR+= cc1plus c++
|
||||
.if !defined(NO_COLLECT2)
|
||||
#SUBDIR+= collect2
|
||||
.endif
|
||||
|
@ -3,3 +3,13 @@
|
||||
# Front-end-only bits
|
||||
|
||||
version!= sed -n /version_string/p ${GCCDIR}/version.c | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'
|
||||
|
||||
#
|
||||
# These were previously defined in gcc.c. Just copy previous values from
|
||||
# there. We ifdef most of them out for FREEBSD_NATIVE builds anyway.
|
||||
# gcc.c won't compile without them though.
|
||||
DRIVER_DEFINES = \
|
||||
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
|
||||
-DDEFAULT_TARGET_MACHINE=\"$(target)\" \
|
||||
|
||||
CFLAGS+= ${DRIVER_DEFINES}
|
||||
|
@ -9,11 +9,11 @@ GCC_CPU= arm
|
||||
.elif ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64"
|
||||
GCC_CPU= i386
|
||||
.elif ${TARGET_ARCH} == "ia64"
|
||||
TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU_LD
|
||||
GCC_CPU= ia64
|
||||
.elif ${TARGET_ARCH} == "powerpc"
|
||||
GCC_CPU= rs6000
|
||||
.elif ${TARGET_ARCH} == "sparc64"
|
||||
GCC_CPU= sparc
|
||||
TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc
|
||||
CFLAGS+= -DTARGET_CPU_DEFAULT=${TARGET_CPU_DEFAULT}
|
||||
.endif
|
||||
|
@ -11,9 +11,6 @@ LINKS= ${BINDIR}/c++ ${BINDIR}/g++
|
||||
LINKS+= ${BINDIR}/c++ ${BINDIR}/CC
|
||||
NOMAN= 1
|
||||
|
||||
CFLAGS+= -DDEFAULT_TARGET_VERSION=\"$(version)\"
|
||||
CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"$(target)\"
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
|
@ -13,9 +13,6 @@ NOSHARED?=yes
|
||||
LINKS= ${BINDIR}/cc ${BINDIR}/gcc
|
||||
MLINKS= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 gcc.1 CC.1
|
||||
|
||||
CFLAGS+= -DDEFAULT_TARGET_VERSION=\"$(version)\"
|
||||
CFLAGS+= -DDEFAULT_TARGET_MACHINE=\"$(target)\"
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
|
@ -5,14 +5,14 @@
|
||||
.PATH: ${GCCDIR}
|
||||
|
||||
PROG= cc1
|
||||
SRCS= main.c c-parse+%DIKED.c c-lang.c c-decl.c c-opts.c
|
||||
SRCS= main.c c-parse+%DIKED.c c-lang.c stub-objc.c
|
||||
BINDIR= /usr/libexec
|
||||
NOMAN= 1
|
||||
NOSHARED?=yes
|
||||
|
||||
CFLAGS+= -I.
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
@ -23,9 +23,8 @@ c-parse+%DIKED.c: c-parse.c
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
c-parse.y: c-parse.in
|
||||
sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
|
||||
-e "/^ifc$$/d" \
|
||||
-e "/^end ifc$$/d" \
|
||||
sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
|
||||
-e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" \
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
CLEANFILES= c-parse+%DIKED.c c-parse.c c-parse.y
|
||||
|
@ -5,14 +5,14 @@
|
||||
.PATH: ${GCCDIR}/objc ${GCCDIR}
|
||||
|
||||
PROG= cc1obj
|
||||
SRCS= objc-parse+DIKED.c objc-act.c objc-lang.c main.c c-decl.c
|
||||
SRCS= main.c objc-parse+DIKED.c objc-act.c objc-lang.c c-decl.c
|
||||
BINDIR= /usr/libexec
|
||||
NOMAN= 1
|
||||
NOSHARED?=yes
|
||||
|
||||
CFLAGS+= -I${GCCDIR}/objc -I.
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
@ -23,9 +23,8 @@ objc-parse+DIKED.c: objc-parse.c
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
objc-parse.y: c-parse.in
|
||||
sed -e "/^ifc$$/,/^end ifc$$/d" \
|
||||
-e "/^ifobjc$$/d" \
|
||||
-e "/^end ifobjc$$/d" \
|
||||
sed -e "/^@@ifc.*/,/^@@end_ifc.*/d" \
|
||||
-e "/^@@ifobjc.*/d" -e "/^@@end_ifobjc.*/d" \
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
CLEANFILES= objc-parse+DIKED.c objc-parse.c objc-parse.y
|
||||
|
@ -5,11 +5,11 @@
|
||||
.PATH: ${GCCDIR}/cp ${GCCDIR}
|
||||
|
||||
PROG= cc1plus
|
||||
SRCS= parse+%DIKED.c parse.h cfns.h
|
||||
SRCS+= main.c cp-lang.c c-opts.c \
|
||||
call.c class.c cvt.c decl.c decl2.c error.c except.c expr.c friend.c \
|
||||
init.c lex.c mangle.c method.c pt.c ptree.c repo.c rtti.c search.c \
|
||||
semantics.c spew.c tree.c typeck.c typeck2.c dump.c optimize.c
|
||||
SRCS= cfns.h
|
||||
SRCS+= main.c cp-lang.c c-opts.c call.c class.c cvt.c cxx-pretty-print.c \
|
||||
decl.c decl2.c error.c except.c expr.c dump.c friend.c init.c lex.c \
|
||||
mangle.c method.c name-lookup.c parser.c pt.c ptree.c repo.c rtti.c \
|
||||
search.c semantics.c tree.c typeck.c typeck2.c optimize.c
|
||||
|
||||
BINDIR= /usr/libexec
|
||||
NOMAN= 1
|
||||
@ -17,25 +17,15 @@ NOSHARED?=yes
|
||||
|
||||
CFLAGS+= -I${GCCDIR}/cp -I.
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
PADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# C++ parser
|
||||
|
||||
parse+%DIKED.c y.tab.h: parse.c
|
||||
sed -e "s/malloc/xmalloc/g" \
|
||||
-e "s/realloc/xrealloc/g" \
|
||||
${.ALLSRC:M*c} > ${.TARGET}
|
||||
|
||||
parse.h: y.tab.h
|
||||
cp -pf y.tab.h ${.TARGET}
|
||||
grep '^#define[ ]*YYEMPTY' ${.TARGET:S/h$/c/} >>${.TARGET}
|
||||
|
||||
cfns.h: cfns.gperf
|
||||
gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' \
|
||||
gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
CLEANFILES= parse+%DIKED.c parse.c parse.h y.tab.h cfns.h
|
||||
CLEANFILES= cfns.h
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -2,38 +2,65 @@
|
||||
|
||||
.include "../Makefile.inc"
|
||||
|
||||
.PATH: ../cc_tools ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} ${GCCDIR}/../libiberty
|
||||
.PATH: ../cc_tools ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
|
||||
|
||||
LIB= cc_int
|
||||
INTERNALLIB= YES
|
||||
|
||||
# dbxout.c dwarfout.c emit-rtl.c explow.c expmed.c expr.c \
|
||||
# alias.c bitmap.c dwarf2out.c dyn-string.c \
|
||||
SRCS= c-common.c c-dump.c c-format.c c-opts.c \
|
||||
c-pragma.c c-semantics.c \
|
||||
caller-save.c calls.c combine.c convert.c cse.c \
|
||||
dbxout.c dwarfout.c dwarf2out.c dwarf2asm.c emit-rtl.c explow.c expmed.c expr.c \
|
||||
final.c flow.c fold-const.c function.c getpwd.c global.c graph.c \
|
||||
gtype-desc.c haifa-sched.c \
|
||||
integrate.c jump.c lcm.c local-alloc.c loop.c optabs.c \
|
||||
print-rtl.c print-tree.c \
|
||||
ra.c ra-build.c ra-colorize.c ra-debug.c ra-rewrite.c \
|
||||
real.c recog.c reg-stack.c regclass.c \
|
||||
reload.c reload1.c reorg.c rtl.c rtlanal.c \
|
||||
sbitmap.c sdbout.c stmt.c stor-layout.c \
|
||||
toplev.c tracer.c tree.c unroll.c varasm.c xcoffout.c \
|
||||
alias.c bitmap.c dyn-string.c \
|
||||
genrtl.c profile.c regmove.c varray.c \
|
||||
attribs.c cselib.c debug.c rtl-error.c tree-dump.c tree-inline.c
|
||||
# Files from libiberty.
|
||||
SRCS= choose-temp.c concat.c cp-demangle.c cp-demint.c cplus-dem.c \
|
||||
dyn-string.c errors.c fibheap.c getpwd.c getruntime.c hashtab.c \
|
||||
hex.c lbasename.c make-temp-file.c md5.c obstack.c partition.c \
|
||||
pexecute.c physmem.c splay-tree.c xexit.c xmalloc.c xmemdup.c \
|
||||
xstrdup.c xstrerror.c xexit.c
|
||||
|
||||
# Language-independent files.
|
||||
SRCS+= alias.c bb-reorder.c bitmap.c builtins.c caller-save.c calls.c \
|
||||
cfg.c cfganal.c cfgbuild.c cfgcleanup.c cfglayout.c cfgloop.c \
|
||||
cfgloopanal.c cfgloopmanip.c loop-init.c loop-unswitch.c loop-unroll.c \
|
||||
cfgrtl.c combine.c conflict.c convert.c coverage.c cse.c cselib.c \
|
||||
dbxout.c debug.c df.c diagnostic.c dojump.c doloop.c dominance.c \
|
||||
dwarf2asm.c dwarf2out.c emit-rtl.c except.c explow.c \
|
||||
expmed.c expr.c final.c flow.c fold-const.c function.c gcse.c \
|
||||
genrtl.c ggc-common.c global.c graph.c gtype-desc.c \
|
||||
haifa-sched.c hooks.c ifcvt.c \
|
||||
integrate.c intl.c jump.c langhooks.c lcm.c lists.c local-alloc.c \
|
||||
loop.c optabs.c options.c opts.c params.c postreload.c predict.c \
|
||||
print-rtl.c print-tree.c value-prof.c \
|
||||
profile.c ra.c ra-build.c ra-colorize.c ra-debug.c ra-rewrite.c \
|
||||
real.c recog.c reg-stack.c regclass.c regmove.c regrename.c \
|
||||
reload.c reload1.c reorg.c resource.c rtl.c rtlanal.c rtl-error.c \
|
||||
sbitmap.c sched-deps.c sched-ebb.c sched-rgn.c sched-vis.c sdbout.c \
|
||||
sibcall.c simplify-rtx.c sreal.c stmt.c stor-layout.c stringpool.c \
|
||||
targhooks.c timevar.c toplev.c tracer.c tree.c tree-dump.c unroll.c \
|
||||
varasm.c varray.c version.c vmsdbgout.c xcoffout.c alloc-pool.c \
|
||||
et-forest.c cfghooks.c bt-load.c pretty-print.c ggc-page.c web.c
|
||||
|
||||
# Miscellaneous files.
|
||||
SRCS+= hashtable.c tree-inline.c tree-optimize.c cgraph.c cgraphunit.c
|
||||
|
||||
# Host hooks.
|
||||
SRCS+= host-default.c
|
||||
|
||||
# C and ObjC files.
|
||||
SRCS+= attribs.c c-errors.c c-lex.c c-pragma.c c-decl.c c-typeck.c \
|
||||
c-convert.c c-aux-info.c c-common.c c-opts.c c-format.c c-semantics.c \
|
||||
c-incpath.c cppdefault.c c-ppoutput.c c-cppbuiltin.c prefix.c \
|
||||
c-objc-common.c c-dump.c c-pch.c
|
||||
|
||||
# Files shared by cc1plus, cc1 and cc1obj
|
||||
SRCS+= c-pretty-print.c
|
||||
|
||||
# Machine-dependent files.
|
||||
SRCS+= ${GCC_CPU}.c
|
||||
.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-c.c)
|
||||
SRCS+= ${GCC_CPU}-c.c
|
||||
.endif
|
||||
|
||||
SRCS+= bb-reorder.c conflict.c ggc-common.c \
|
||||
ggc-page.c ifcvt.c lists.c predict.c regrename.c resource.c sibcall.c \
|
||||
simplify-rtx.c ssa.c timevar.c ssa-dce.c ssa-ccp.c df.c fibheap.c
|
||||
# libcpp files.
|
||||
SRCS+= cpplib.c cpplex.c cppmacro.c cppexp.c cppfiles.c cpptrad.c \
|
||||
cpphash.c cpperror.c cppinit.c cppcharset.c \
|
||||
line-map.c mkdeps.c cpppch.c
|
||||
|
||||
# insn-* gunk -- headers are built in cc_tools, as they are used by the
|
||||
# "build-tools"
|
||||
@ -43,45 +70,20 @@ CLEANFILES+= insn-$F.c
|
||||
insn-$F.c: ${.OBJDIR}/../cc_tools/gen$F ${MD_FILE}
|
||||
${.OBJDIR}/../cc_tools/gen$F ${MD_FILE} > insn-$F.c
|
||||
.endfor
|
||||
.for F in modes
|
||||
SRCS+= insn-$F.c
|
||||
CLEANFILES+= insn-$F.c
|
||||
insn-$F.c: ${.OBJDIR}/../cc_tools/gen$F
|
||||
${.OBJDIR}/../cc_tools/gen$F > insn-$F.c
|
||||
.endfor
|
||||
|
||||
# shared between the drivers
|
||||
SRCS+= multilib.h choose-temp.c obstack.c prefix.c pexecute.c version.c mbchar.c concat.c make-temp-file.c
|
||||
# C_AND_OBJC_OBJS
|
||||
#SRCS+= attribs.c c-errors.c c-lex.c c-pragma.c c-decl.c c-typeck.c \
|
||||
# c-convert.c c-aux-info.c c-common.c c-format.c c-semantics.c \
|
||||
# c-objc-common.c
|
||||
|
||||
# XXX: shared by cc1, cc1obj & cpp0
|
||||
# cc1plus seems to be able to tolerate these here,
|
||||
# BUT only if the right .o's are specified in cc1plus/Makefile
|
||||
SRCS+= c-typeck.c \
|
||||
c-errors.c c-convert.c c-aux-info.c c-objc-common.c
|
||||
|
||||
# libbackend
|
||||
SRCS+= builtins.c diagnostic.c doloop.c dominance.c et-forest.c \
|
||||
except.c gcse.c params.c sched-deps.c sched-vis.c sched-rgn.c sched-ebb.c \
|
||||
stringpool.c c-lex.c langhooks.c hashtable.c \
|
||||
hooks.c \
|
||||
cfg.c cfganal.c cfgbuild.c cfgcleanup.c cfglayout.c cfgloop.c cfgrtl.c
|
||||
|
||||
# libcpp
|
||||
SRCS+= cppdefault.c cpperror.c cppexp.c cppfiles.c cppinit.c cpphash.c \
|
||||
cpplex.c cpplib.c cppmacro.c cppmain.c cpptrad.c mkdeps.c line-map.c
|
||||
|
||||
# stuff that makes libiberty now required (2.95) and shouldn't be...
|
||||
SRCS+= splay-tree.c hashtab.c partition.c lbasename.c md5.c hex.c xmemdup.c physmem.c
|
||||
CFLAGS+= -DHAVE_CONFIG_H
|
||||
|
||||
CFLAGS+= -DTARGET_NAME=\"${target}\" -DIN_GCC
|
||||
.if defined(TARGET_CPU_DEFAULT)
|
||||
CFLAGS+= -DTARGET_CPU_DEFAULT=${TARGET_CPU_DEFAULT}
|
||||
.endif
|
||||
|
||||
UNDERSCORES= 0
|
||||
SRCS+= underscore.c
|
||||
CLEANFILES+= underscore.c
|
||||
underscore.c: Makefile
|
||||
echo '/*WARNING: This file is automatically generated!*/' >${.TARGET}
|
||||
echo "int prepends_underscore = ${UNDERSCORES};" >>${.TARGET}
|
||||
# c-pch.o needs extra defines. Replicate the rule here rather than
|
||||
# pollute compiler command line for all other files.
|
||||
c-pch.o: c-pch.c
|
||||
${CC} ${CFLAGS} -DHOST_MACHINE=\"${host}\" \
|
||||
-DTARGET_MACHINE=\"${target}\" -c ${.IMPSRC}
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -16,10 +16,43 @@ CFLAGS+= -I.
|
||||
|
||||
.include "../Makefile.inc"
|
||||
|
||||
.PATH: ${GCCDIR}
|
||||
.PATH: ${GCCDIR} ${GCCDIR}/f
|
||||
|
||||
CFLAGS+= -DGENERATOR_FILE
|
||||
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
# Build 'pocket' libiberty exclusively for build tools use.
|
||||
|
||||
LIBIBERTY_SRCS= choose-temp.c concat.c cp-demangle.c cp-demint.c cplus-dem.c \
|
||||
dyn-string.c errors.c fibheap.c \
|
||||
getpwd.c getruntime.c hashtab.c hex.c lbasename.c make-temp-file.c \
|
||||
md5.c obstack.c partition.c pexecute.c physmem.c splay-tree.c xexit.c \
|
||||
xmalloc.c xmemdup.c xstrdup.c xstrerror.c xexit.c
|
||||
LIBIBERTY_OBJS= ${LIBIBERTY_SRCS:R:S/$/.o/g}
|
||||
|
||||
SRCS+= ${LIBIBERTY_SRCS}
|
||||
|
||||
LIBIBERTY=libiberty.a
|
||||
${LIBIBERTY}: ${LIBIBERTY_OBJS}
|
||||
@rm -f ${.TARGET}
|
||||
@${AR} cq ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q`
|
||||
${RANLIB} ${.TARGET}
|
||||
CLEANFILES+= ${LIBIBERTY}
|
||||
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
# options
|
||||
OPTION_FILES=${GCCDIR}/f/lang.opt ${GCCDIR}/c.opt ${GCCDIR}/common.opt
|
||||
|
||||
.ORDER: options.h options.c
|
||||
options.h options.c: opts.sh ${OPTION_FILES}
|
||||
/bin/sh ${GCCDIR}/opts.sh mv options.c options.h ${OPTION_FILES}
|
||||
|
||||
|
||||
GENSRCS+= options.c options.h
|
||||
CLEANFILES+= options.c options.h
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# insn-* gunk
|
||||
|
||||
@ -43,8 +76,8 @@ gen-time-stamp: genattr genattrtab genconditions genconstants genemit \
|
||||
.for F in attr codes config emit extract flags opinit output peep recog
|
||||
build-tools: gen$F
|
||||
|
||||
gen$F: gen$F.o rtl.o obstack.o print-rtl.o bitmap.o errors.o gensupport.o \
|
||||
ggc-none.o hashtab.o read-rtl.o concat.o insn-conditions.o
|
||||
gen$F: gen$F.o rtl.o print-rtl.o bitmap.o gensupport.o ggc-none.o \
|
||||
read-rtl.o insn-conditions.o min-insn-modes.o ${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
GENSRCS+= gen$F.c
|
||||
@ -56,9 +89,9 @@ CLEANFILES+= gen$F
|
||||
#
|
||||
build-tools: genattrtab
|
||||
|
||||
genattrtab : genattrtab.o rtl.o obstack.o print-rtl.o bitmap.o errors.o \
|
||||
gensupport.o ggc-none.o hashtab.o read-rtl.o concat.o \
|
||||
insn-conditions.o genautomata.o varray.o getruntime.o
|
||||
genattrtab : genattrtab.o rtl.o print-rtl.o bitmap.o gensupport.o ggc-none.o \
|
||||
read-rtl.o insn-conditions.o genautomata.o varray.o min-insn-modes.o \
|
||||
${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC} -lm
|
||||
|
||||
GENSRCS+= genattrtab.c
|
||||
@ -71,18 +104,17 @@ CLEANFILES+= genattrtab
|
||||
.for F in constants conditions
|
||||
build-tools: gen$F
|
||||
|
||||
gen$F: gen$F.o rtl.o obstack.o bitmap.o errors.o gensupport.o \
|
||||
ggc-none.o hashtab.o read-rtl.o concat.o dummy-conditions.o
|
||||
gen$F: gen$F.o rtl.o bitmap.o gensupport.o ggc-none.o read-rtl.o dummy-conditions.o min-insn-modes.o ${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
GENSRCS+= gen$F.c
|
||||
CLEANFILES+= gen$F
|
||||
.endfor
|
||||
|
||||
.for F in check genrtl preds
|
||||
.for F in modes check genrtl preds
|
||||
build-tools: gen$F
|
||||
|
||||
gen$F: gen$F.o
|
||||
gen$F: gen$F.o ${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
GENSRCS+= gen$F.c
|
||||
@ -96,10 +128,25 @@ genrtl.c genrtl.h: gengenrtl
|
||||
|
||||
GENSRCS+= genrtl.c genrtl.h
|
||||
|
||||
SRCS+= bitmap.c concat.c dummy-conditions.c errors.c genautomata.c \
|
||||
SRCS+= bitmap.c concat.c dummy-conditions.c genautomata.c \
|
||||
gensupport.c getruntime.c ggc-none.c hashtab.c \
|
||||
obstack.c physmem.c print-rtl.c read-rtl.c rtl.c varray.c xmemdup.c
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# insn modes stuff.
|
||||
|
||||
.ORDER: insn-modes.c insn-modes.h
|
||||
insn-modes.h: genmodes
|
||||
./genmodes -h > insn-modes.h
|
||||
|
||||
insn-modes.c: genmodes
|
||||
./genmodes > insn-modes.c
|
||||
|
||||
min-insn-modes.c: genmodes
|
||||
./genmodes -m > min-insn-modes.c
|
||||
|
||||
GENSRCS+= insn-modes.c min-insn-modes.c insn-modes.h
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Common parser stuff.
|
||||
|
||||
@ -136,7 +183,7 @@ gengtype-yacc+%DIKED.c: gengtype-yacc.c
|
||||
-e "s/realloc/xrealloc/g" \
|
||||
${.ALLSRC} > ${.TARGET}
|
||||
|
||||
gengtype: gengtype.o gengtype-yacc+%DIKED.o gengtype-lex.o xmemdup.o
|
||||
gengtype: gengtype.o gengtype-yacc+%DIKED.o gengtype-lex.o ${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
GENSRCS+= gengtype.c
|
||||
@ -156,13 +203,28 @@ gtype-time-stamp: gengtype ${GTFILES}
|
||||
GENSRCS+= gtype-desc.c gtype-desc.h
|
||||
CLEANFILES+= gt-*.h gtype-*.h
|
||||
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
# Fortran build tools
|
||||
|
||||
.if !defined(NO_FORTRAN)
|
||||
gen-time-stamp: fini
|
||||
build-tools: fini
|
||||
fini: fini.o ${LIBIBERTY}
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
SRCS+= fini.c
|
||||
CLEANFILES+= fini
|
||||
.endif
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Determine content of variables used by the target/host config files
|
||||
|
||||
#
|
||||
# The list of headers to go into tconfig.h
|
||||
# The list of headers to go into tm.h
|
||||
#
|
||||
TARGET_INC= ansidecl.h
|
||||
.if ${TARGET_ARCH} == "amd64"
|
||||
TARGET_INC= i386/biarch64.h
|
||||
.endif
|
||||
TARGET_INC+= ${GCC_CPU}/${GCC_CPU}.h
|
||||
.if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64"
|
||||
TARGET_INC+= ${GCC_CPU}/unix.h
|
||||
@ -189,13 +251,16 @@ TARGET_INC+= ${GCC_CPU}/x86-64.h
|
||||
TARGET_INC+= ${GCC_CPU}/freebsd64.h
|
||||
TARGET_INC+= freebsd64-fix.h
|
||||
.endif
|
||||
.if ${TARGET_ARCH} == "powepc"
|
||||
TARGET_INC+= altivec-defs.h
|
||||
.endif
|
||||
TARGET_INC+= defaults.h
|
||||
|
||||
#
|
||||
# Use TARGET_INC as a template and build a list of target specific
|
||||
# include files for gengtype to scan
|
||||
#
|
||||
GCONFIG_H= ${.OBJDIR}/tconfig.h ${.CURDIR}/auto-host.h
|
||||
GCONFIG_H= ${.CURDIR}/auto-host.h
|
||||
|
||||
.for H in ${TARGET_INC}
|
||||
.for D in ${GCCDIR}/config ${GCCDIR} ${.CURDIR}
|
||||
@ -210,29 +275,29 @@ GCONFIG_H+= $D/$H
|
||||
#
|
||||
srcdir= ${GCCDIR}
|
||||
HASHTAB_H= ${GCCDIR}/hashtab.h
|
||||
SPLAY_TREE_H= ${GCCDIR}/splay-tree.h
|
||||
out_file= ${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.c
|
||||
GTFILES_SRCDIR= ${GCCDIR}
|
||||
|
||||
#
|
||||
# Copied unchanged from gcc/Makefile.in
|
||||
#
|
||||
GTFILES = $(GCONFIG_H) $(srcdir)/location.h \
|
||||
$(HASHTAB_H) \
|
||||
$(srcdir)/bitmap.h $(srcdir)/function.h $(srcdir)/rtl.h $(srcdir)/optabs.h \
|
||||
$(srcdir)/tree.h $(srcdir)/libfuncs.h $(srcdir)/hashtable.h $(srcdir)/real.h \
|
||||
$(srcdir)/varray.h $(srcdir)/ssa.h $(srcdir)/insn-addr.h $(srcdir)/cselib.h \
|
||||
GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h $(srcdir)/cpplib.h \
|
||||
$(GCONFIG_H) $(HASHTAB_H) $(SPLAY_TREE_H) \
|
||||
$(srcdir)/bitmap.h $(srcdir)/coverage.c $(srcdir)/function.h $(srcdir)/rtl.h \
|
||||
$(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/libfuncs.h $(srcdir)/hashtable.h \
|
||||
$(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h \
|
||||
$(srcdir)/cselib.h $(srcdir)/basic-block.h $(srcdir)/cgraph.h \
|
||||
$(srcdir)/c-common.h $(srcdir)/c-tree.h \
|
||||
$(srcdir)/basic-block.h \
|
||||
$(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c \
|
||||
$(srcdir)/dwarf2out.c $(srcdir)/emit-rtl.c \
|
||||
$(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
|
||||
$(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
|
||||
$(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
|
||||
$(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
|
||||
$(srcdir)/fold-const.c $(srcdir)/function.c \
|
||||
$(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \
|
||||
$(srcdir)/profile.c $(srcdir)/ra-build.c $(srcdir)/regclass.c \
|
||||
$(srcdir)/reg-stack.c \
|
||||
$(srcdir)/reg-stack.c $(srcdir)/cfglayout.c $(srcdir)/langhooks.c \
|
||||
$(srcdir)/sdbout.c $(srcdir)/stmt.c $(srcdir)/stor-layout.c \
|
||||
$(srcdir)/tree.c $(srcdir)/varasm.c \
|
||||
$(out_file)
|
||||
$(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c $(out_file)
|
||||
|
||||
#
|
||||
# Build a list of frontend directories to look into
|
||||
@ -271,9 +336,10 @@ GTFILES+= ${GTFILES_FILES}
|
||||
#-----------------------------------------------------------------------
|
||||
# the host/target compiler config.
|
||||
|
||||
COMMONHDRS= config.h hconfig.h multilib.h options.h specs.h tconfig.h \
|
||||
tm_p.h configargs.h safe-ctype.h
|
||||
GENSRCS+= ${COMMONHDRS} gencheck.h gtyp-gen.h
|
||||
COMMONHDRS= bconfig.h config.h configargs.h gencheck.h multilib.h \
|
||||
specs.h safe-ctype.h tconfig.h tm.h tm_p.h gcov-iov.h \
|
||||
gtyp-gen.h
|
||||
GENSRCS+= ${COMMONHDRS}
|
||||
|
||||
MFILE?= ${.CURDIR}/Makefile
|
||||
${COMMONHDRS}: ${MFILE}
|
||||
@ -282,10 +348,31 @@ configargs.h:
|
||||
echo 'static const char configuration_arguments[] =' > ${.TARGET}
|
||||
echo ' "FreeBSD/${TARGET_ARCH} system compiler";' >> ${.TARGET}
|
||||
echo 'static const char thread_model[] = "posix";' >> ${.TARGET}
|
||||
echo 'static const struct {' >> ${.TARGET}
|
||||
echo ' const char *name, *value;' >> ${.TARGET}
|
||||
echo '} configure_default_options[] = {' >> ${.TARGET}
|
||||
echo ' { "NULL", "NULL" } };' >> ${.TARGET}
|
||||
|
||||
hconfig.h:
|
||||
echo '#include "auto-host.h"' > ${.TARGET}
|
||||
echo '#include <tconfig.h>' >> ${.TARGET}
|
||||
tconfig.h:
|
||||
echo '#ifndef GCC_TCONFIG_H' > ${.TARGET}
|
||||
echo '#define GCC_TCONFIG_H' >> ${.TARGET}
|
||||
echo '#ifdef IN_GCC' >> ${.TARGET}
|
||||
echo '# include "ansidecl.h"' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
echo '#define USED_FOR_TARGET' >> ${.TARGET}
|
||||
echo '#endif /* GCC_TCONFIG_H */' >> ${.TARGET}
|
||||
|
||||
bconfig.h:
|
||||
echo '#ifndef GCC_BCONFIG_H' > ${.TARGET}
|
||||
echo '#define GCC_BCONFIG_H' >> ${.TARGET}
|
||||
echo '#include "auto-host.h"' >> ${.TARGET}
|
||||
.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-modes.def)
|
||||
echo '#define EXTRA_MODES_FILE "${GCC_CPU}/${GCC_CPU}-modes.def"' >> ${.TARGET}
|
||||
.endif
|
||||
echo '#ifdef IN_GCC' >> ${.TARGET}
|
||||
echo '# include "ansidecl.h"' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
echo '#endif /* GCC_BCONFIG_H */' >> ${.TARGET}
|
||||
|
||||
gencheck.h:
|
||||
echo '#include "cp/cp-tree.def"' > ${.TARGET}
|
||||
@ -301,56 +388,39 @@ multilib.h:
|
||||
echo 'static const char *const multilib_exclusions_raw[] = { \
|
||||
NULL };' >> ${.TARGET}
|
||||
|
||||
options.h:
|
||||
echo '#include "cp/lang-options.h"' > ${.TARGET}
|
||||
echo '#include "f/lang-options.h"' >> ${.TARGET}
|
||||
echo '#include "objc/lang-options.h"' >> ${.TARGET}
|
||||
|
||||
specs.h:
|
||||
echo '#include "cp/lang-specs.h"' > ${.TARGET}
|
||||
echo '#include "f/lang-specs.h"' >> ${.TARGET}
|
||||
echo '#include "objc/lang-specs.h"' >> ${.TARGET}
|
||||
|
||||
config.h:
|
||||
echo '#include <hconfig.h>' > ${.TARGET}
|
||||
echo '#ifndef GENERATOR_FILE' >> ${.TARGET}
|
||||
echo '#include "insn-constants.h"' >> ${.TARGET}
|
||||
echo '#include "insn-flags.h"' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
config.h: bconfig.h
|
||||
echo '#include <bconfig.h>' > ${.TARGET}
|
||||
|
||||
tconfig.h:
|
||||
echo 'struct rtx_def;' > ${.TARGET}
|
||||
echo 'typedef struct rtx_def *rtx;' >> ${.TARGET}
|
||||
echo 'struct rtvec_def;' >> ${.TARGET}
|
||||
echo 'typedef struct rtvec_def *rtvec;' >> ${.TARGET}
|
||||
echo 'union tree_node;' >> ${.TARGET}
|
||||
echo 'typedef union tree_node *tree;' >> ${.TARGET}
|
||||
echo '#ifndef GTY' >> ${.TARGET}
|
||||
echo '# define GTY(x)' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
echo '' >> ${.TARGET}
|
||||
.if ${TARGET_ARCH} == "amd64"
|
||||
echo '#include "i386/biarch64.h"' >> ${.TARGET}
|
||||
.endif
|
||||
.if ${TARGET_ARCH} == "ia64"
|
||||
echo '#define TARGET_CPU_DEFAULT (MASK_GNU_AS|MASK_GNU_LD)' >>${.TARGET}
|
||||
tm.h:
|
||||
echo '#ifndef GCC_TM_H' > ${.TARGET}
|
||||
echo '#define GCC_TM_H' >> ${.TARGET}
|
||||
.if defined(TARGET_CPU_DEFAULT)
|
||||
echo "#define TARGET_CPU_DEFAULT (${TARGET_CPU_DEFAULT})" >> ${.TARGET}
|
||||
.endif
|
||||
echo '#ifdef IN_GCC' >> ${.TARGET}
|
||||
.for H in ${TARGET_INC}
|
||||
echo '#include "$H"' >> ${.TARGET}
|
||||
.endfor
|
||||
echo '#ifndef POSIX' >> ${.TARGET}
|
||||
echo '# define POSIX' >> ${.TARGET}
|
||||
echo '#if !defined GENERATOR_FILE && !defined USED_FOR_TARGET' >> ${.TARGET}
|
||||
echo '# include "insn-constants.h"' >> ${.TARGET}
|
||||
echo '# include "insn-flags.h"' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
echo '#endif' >> ${.TARGET}
|
||||
.if exists(${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}-modes.def)
|
||||
echo '#define EXTRA_MODES_FILE "${GCC_CPU}/${GCC_CPU}-modes.def"' >> ${.TARGET}
|
||||
echo '#define EXTRA_CC_MODES 1' >> ${.TARGET}
|
||||
.endif
|
||||
echo '#endif /* GCC_TM_H */' >> ${.TARGET}
|
||||
|
||||
tm_p.h:
|
||||
echo '#include "${GCC_CPU}/${GCC_CPU}-protos.h"' >> ${.TARGET}
|
||||
echo '#include "tm-preds.h"' >> ${.TARGET}
|
||||
|
||||
safe-ctype.h: Makefile
|
||||
safe-ctype.h:
|
||||
echo '#include <ctype.h>' > ${.TARGET}
|
||||
.for Z in TOUPPER TOLOWER ISDIGIT ISXDIGIT ISUPPER ISLOWER ISALPHA ISALNUM \
|
||||
ISSPACE ISPUNCT ISGRAPH ISBLANK ISPRINT ISCNTRL
|
||||
@ -391,8 +461,9 @@ gtyp-gen.h:
|
||||
echo "\"$F\", " >> ${.TARGET}
|
||||
.endfor
|
||||
echo "NULL};" >> ${.TARGET}
|
||||
echo "#define xexit exit" >> ${.TARGET}
|
||||
|
||||
gcov-iov.h:
|
||||
echo "#define GCOV_VERSION ((gcov_unsigned_t)0x33303470)" >> ${.TARGET}
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# General things.
|
||||
@ -400,7 +471,8 @@ gtyp-gen.h:
|
||||
SRCS+= ${GENSRCS}
|
||||
CLEANFILES+= ${GENSRCS}
|
||||
|
||||
all: ${SRCS}
|
||||
all: ${SRCS}
|
||||
build-tools: ${SRCS}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
||||
@ -415,19 +487,42 @@ CLEANFILES+= ${OBJS}
|
||||
|
||||
.if !exists(${DEPENDFILE})
|
||||
# Fudge pre-dependfile dependencies of objects in much the same way as
|
||||
# bsd.prog.mk would do if we defined PROG. There are complications to
|
||||
# avoid circular dependencies. First, only make most objects depend on
|
||||
# all headers. Filter out the objects that would cause problems (i.e.,
|
||||
# objects that will be used to create programs that will generate headers).
|
||||
#
|
||||
${OBJS}: ${SRCS:M*.h:Ngtype-desc.h:Ngenrtl.h:Ntree-check.h:Ntm-preds.h:Ninsn-*.h}
|
||||
# bsd.prog.mk would do if we defined PROG.
|
||||
|
||||
${OBJS:Ngencheck.o:Ngengenrtl.o:Ngenpreds.o}: tree-check.h tm-preds.h genrtl.h
|
||||
${OBJS}: ${COMMONHDRS}
|
||||
|
||||
${OBJS:Ngengtype*.o:Nxmemdup.o:Ngengenrtl.o:Ngencheck.o:Ngenpreds.o}: gtype-desc.h
|
||||
dummy-conditions.o:
|
||||
gencheck.o:
|
||||
genmodes.o:
|
||||
|
||||
genextract.o: insn-config.h
|
||||
genpreds.o: insn-modes.h
|
||||
genconstants.o: insn-modes.h genrtl.h
|
||||
gengtype.o: insn-modes.h genrtl.h gtyp-gen.h
|
||||
rtl.o: insn-modes.h gtype-desc.h genrtl.h
|
||||
bitmap.o: insn-modes.h gtype-desc.h genrtl.h
|
||||
ggc-none.o: gtype-desc.h
|
||||
gensupport.o: insn-modes.h genrtl.h
|
||||
varray.o: gtype-desc.h
|
||||
genautomata.o: insn-modes.h genrtl.h
|
||||
genconditions.o: insn-modes.h genrtl.h
|
||||
gencodes.o: insn-modes.h genrtl.h
|
||||
genconfig.o: insn-modes.h genrtl.h
|
||||
print-rtl.o: insn-modes.h genrtl.h tm-preds.h tree-check.h
|
||||
read-rtl.o: insn-modes.h genrtl.h
|
||||
genattr.o: insn-modes.h genrtl.h
|
||||
genemit.o: insn-modes.h genrtl.h
|
||||
genflags.o: insn-modes.h genrtl.h
|
||||
genopinit.o: insn-modes.h genrtl.h
|
||||
genoutput.o: insn-modes.h genrtl.h
|
||||
genpeep.o: insn-modes.h genrtl.h
|
||||
genrecog.o: insn-modes.h genrtl.h
|
||||
genextract.o: genrtl.h insn-config.h
|
||||
genattrtab.o: insn-modes.h gtype-desc.h genrtl.h
|
||||
genrtl.o: insn-modes.h genrtl.h gtype-desc.h
|
||||
|
||||
insn-conditions.o: insn-constants.h
|
||||
insn-conditions.o: insn-constants.h tm-preds.h
|
||||
insn-modes.o: insn-modes.h
|
||||
min-insn-modes.o: insn-modes.h
|
||||
gtype-desc.o: insn-modes.h insn-config.h insn-codes.h tree-check.h
|
||||
|
||||
.endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -14,8 +14,8 @@
|
||||
#undef LOCAL_INCLUDE_DIR /* We don't wish to support one. */
|
||||
|
||||
/* Look for the include files in the system-defined places. */
|
||||
#define GPLUSPLUS_INCLUDE_DIR PREFIX"/include/c++/3.3"
|
||||
#define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX"/include/c++/3.3/backward"
|
||||
#define GPLUSPLUS_INCLUDE_DIR PREFIX"/include/c++/3.4"
|
||||
#define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX"/include/c++/3.4/backward"
|
||||
#define GCC_INCLUDE_DIR PREFIX"/include"
|
||||
#ifdef CROSS_COMPILE
|
||||
#define CROSS_INCLUDE_DIR PREFIX"/include"
|
||||
@ -31,20 +31,19 @@
|
||||
programs: /usr/libexec/<OBJFORMAT>/:STANDARD_EXEC_PREFIX:MD_EXEC_PREFIX
|
||||
libraries: MD_EXEC_PREFIX:MD_STARTFILE_PREFIX:STANDARD_STARTFILE_PREFIX
|
||||
*/
|
||||
#undef TOOLDIR_BASE_PREFIX /* Old?? This is not documented. */
|
||||
#undef STANDARD_BINDIR_PREFIX /* We don't need one for now. */
|
||||
#define STANDARD_EXEC_PREFIX PREFIX"/libexec/"
|
||||
#define STANDARD_LIBEXEC_PREFIX PREFIX"/libexec/"
|
||||
#define TOOLDIR_BASE_PREFIX PREFIX
|
||||
#undef MD_EXEC_PREFIX /* We don't want one. */
|
||||
#define FBSD_DATA_PREFIX PREFIX"/libdata/gcc/"
|
||||
|
||||
/* Under FreeBSD, the normal location of the various *crt*.o files is the
|
||||
/usr/lib directory. */
|
||||
|
||||
#define STANDARD_STARTFILE_PREFIX PREFIX"/lib/"
|
||||
#ifdef CROSS_COMPILE
|
||||
#define CROSS_STARTFILE_PREFIX PREFIX"/lib/"
|
||||
#endif
|
||||
#undef MD_STARTFILE_PREFIX /* We don't need one for now. */
|
||||
#define STANDARD_STARTFILE_PREFIX PREFIX"/lib/"
|
||||
#define STARTFILE_PREFIX_SPEC PREFIX"/lib/"
|
||||
|
||||
/* For the native system compiler, we actually build libgcc in a profiled
|
||||
version. So we should use it with -pg. */
|
||||
@ -57,14 +56,6 @@
|
||||
/* FreeBSD is 4.4BSD derived */
|
||||
#define bsd4_4
|
||||
|
||||
/* Dike out [stupid, IMHO] libiberty functions. */
|
||||
#define xmalloc_set_program_name(dummy)
|
||||
#define xmalloc malloc
|
||||
#define xcalloc calloc
|
||||
#define xrealloc realloc
|
||||
#define xstrdup strdup
|
||||
#define xstrerror strerror
|
||||
|
||||
/* And now they want to replace ctype.h.... grr... [stupid, IMHO] */
|
||||
#define xxxISDIGIT isdigit
|
||||
#define xxxISGRAPH isgraph
|
||||
|
@ -2,13 +2,10 @@
|
||||
|
||||
.include "../Makefile.inc"
|
||||
|
||||
.PATH: ${GCCDIR} ${GCCDIR}/../libiberty
|
||||
.PATH: ${GCCDIR}
|
||||
|
||||
PROG= collect2
|
||||
SRCS= collect2.c cp-demangle.c cplus-dem.c tlink.c
|
||||
SRCS= collect2.c tlink.c version.c
|
||||
NOMAN=
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -23,7 +23,7 @@ gccint.info: gccint.texi include/gcc-common.texi contribute.texi \
|
||||
passes.texi c-tree.texi rtl.texi md.texi tm.texi hostconfig.texi \
|
||||
fragments.texi configfiles.texi collect2.texi headerdirs.texi \
|
||||
include/funding.texi gnu.texi include/gpl.texi include/fdl.texi \
|
||||
contrib.texi languages.texi sourcebuild.texi gty.texi
|
||||
contrib.texi languages.texi sourcebuild.texi gty.texi libgcc.texi
|
||||
|
||||
cpp.info: cpp.texi include/fdl.texi cppenv.texi cppopts.texi
|
||||
|
||||
|
@ -14,22 +14,16 @@ NOMAN=
|
||||
|
||||
CFLAGS+= -I${GCCDIR}/f -I.
|
||||
|
||||
DPADD= ${LIBCC_INT}
|
||||
DPADD= ${LIBCC_INT}
|
||||
LDADD= ${LIBCC_INT}
|
||||
|
||||
build-tools: fini
|
||||
fini: fini.o
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}
|
||||
|
||||
CLEANFILES= fini fini.o
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# str-* gunk
|
||||
|
||||
.for i in 1t 2t fo io nq op ot
|
||||
.ORDER: str-$i.h str-$i.j
|
||||
str-$i.j str-$i.h: str-$i.fin fini
|
||||
./fini ${GCCDIR}/f/str-$i.fin str-$i.j str-$i.h
|
||||
str-$i.j str-$i.h: str-$i.fin
|
||||
${.OBJDIR}/../cc_tools/fini ${GCCDIR}/f/str-$i.fin str-$i.j str-$i.h
|
||||
|
||||
FINIHDRS+= str-$i.j str-$i.h
|
||||
.endfor
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
.include "../Makefile.inc"
|
||||
|
||||
.PATH: ${GCCDIR} ${GCCDIR}/doc ${GCCDIR}/../libiberty
|
||||
.PATH: ${GCCDIR} ${GCCDIR}/doc
|
||||
|
||||
PROG= gcov
|
||||
SRCS= gcov.c version.c
|
||||
|
@ -8,6 +8,10 @@
|
||||
INCS= emmintrin.h mmintrin.h pmmintrin.h xmmintrin.h
|
||||
.elif ${TARGET_ARCH} == "ia64"
|
||||
INCS= ia64intrin.h
|
||||
.elif ${TARGET_ARCH} == "arm"
|
||||
INCS= mmintrin.h
|
||||
.elif ${TARGET_ARCH} == "powerpc"
|
||||
INCS= ppc-asm.h altivec.h spe.h
|
||||
.endif
|
||||
|
||||
NOOBJ=
|
||||
|
Loading…
Reference in New Issue
Block a user