mknative-gcc revision 1.9
11.1Smrg#!/bin/sh 21.9Smrg# $NetBSD: mknative-gcc,v 1.9 2003/11/27 01:05:45 mrg Exp $ 31.1Smrg# 41.1Smrg# Shell script for generating all the constants needed for a native 51.1Smrg# platform build of src/gnu/dist/toolchain. 61.1Smrg# 71.1Smrg 81.9Smrg# initialise 91.9Smrg 101.9Smrg_TMPDIR=$2 111.9Smrg_TOP=$3 121.9Smrg_PLATFORM=$4 131.9Smrg_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*= ,,'` 141.9Smrg_GNU_DIST=`cd ${_VPATH}; pwd` 151.9Smrg 161.9Smrg. $_TOP/tools/gcc/mknative.common 171.1Smrg 181.1Smrg##### gnu/lib/libg2c ##### 191.1Smrg 201.1Smrgget_libg2c () { 211.1Smrg mkdir -p $_TOP/gnu/lib/libg2c3/arch/$MACHINE_ARCH 221.1Smrg 231.1Smrg write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/config.h <$_TMPDIR/$_PLATFORM/libf2c/libU77/config.h 241.1Smrg write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/g2c.h <$_TMPDIR/$_PLATFORM/libf2c/g2c.h 251.1Smrg 261.1Smrg { 271.1Smrg getvars $_PLATFORM/libf2c/Makefile \ 281.1Smrg F2CEXT 291.1Smrg getvars $_PLATFORM/libf2c/libF77/Makefile \ 301.1Smrg ALL_CFLAGS OBJS 311.1Smrg getvars $_PLATFORM/libf2c/libI77/Makefile \ 321.1Smrg ALL_CFLAGS OBJS | sed 's,=,+=,' 331.1Smrg getvars $_PLATFORM/libf2c/libU77/Makefile \ 341.1Smrg ALL_CFLAGS OBJS | sed 's,=,+=,' 351.1Smrg } | write_mk gnu/lib/libg2c3/arch/$MACHINE_ARCH/defs.mk 361.1Smrg} 371.1Smrg 381.1Smrg##### gnu/lib/libgcc ##### 391.1Smrg 401.1Smrgget_libgcc () { 411.4Smrg mkdir -p $_TOP/gnu/lib/libgcc3 421.1Smrg 431.1Smrg # DPBIT, FPBIT only used on mn10[23]00, we don't need them. 441.4Smrg # XXX we should probably grab everything Just In Case for 451.4Smrg # the future. 461.1Smrg getvars gcc/Makefile \ 471.1Smrg CXX_EXTRA_HEADERS CXX_LIB2FUNCS CXX_LIB2SRCS \ 481.1Smrg INCLUDES LIB2ADD LIB2ADDEH LIB2FUNCS_1 LIB2FUNCS_2 \ 491.8Smrg LIB2FUNCS_EXTRA \ 501.1Smrg LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ 511.1Smrg LIBGCC2_CFLAGS MAYBE_USE_COLLECT2 \ 521.1Smrg tm_defines xm_file xm_defines \ 531.1Smrg | write_mk gnu/lib/libgcc3/$MACHINE_ARCH.mk 541.1Smrg} 551.1Smrg 561.1Smrg##### gnu/usr.bin/gcc3/libiberty ##### 571.1Smrg 581.1Smrgget_gcc3_libiberty () { 591.4Smrg mkdir -p $_TOP/gnu/usr.bin/gcc3/libiberty/arch/$MACHINE_ARCH 601.1Smrg 611.1Smrg getvars libiberty/Makefile \ 621.1Smrg ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ 631.1Smrg | write_mk gnu/usr.bin/gcc3/libiberty/defs.mk 641.1Smrg 651.5Smrg write_c gnu/usr.bin/gcc3/libiberty/arch/$MACHINE_ARCH/config.h \ 661.1Smrg <$_TMPDIR/libiberty/config.h 671.1Smrg} 681.1Smrg 691.1Smrg##### gnu/lib/libobjc ##### 701.1Smrg 711.1Smrgget_libobjc () { 721.1Smrg mkdir -p $_TOP/gnu/lib/libobjc3 731.1Smrg 741.1Smrg getvars $_PLATFORM/libobjc/Makefile \ 751.1Smrg ALL_CFLAGS INCLUDES OBJS OBJC_H \ 761.3Smrg | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" \ 771.1Smrg | write_mk gnu/lib/libobjc3/defs.mk 781.1Smrg} 791.1Smrg 801.1Smrg##### gnu/lib/libstdc++-v3 ##### 811.1Smrg 821.1Smrgget_libstdcxx_v3 () { 831.1Smrg mkdir -p $_TOP/gnu/lib/libstdc++-v3/arch/$MACHINE_ARCH 841.1Smrg 851.1Smrg # build files 861.1Smrg for h in gthr.h gthr-single.h gthr-posix.h gthr-default.h c++config.h; do 871.1Smrg write_c gnu/lib/libstdc++-v3/arch/$MACHINE_ARCH/$h \ 881.1Smrg <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h 891.1Smrg done 901.1Smrg 911.6Smrg write_c gnu/lib/libstdc++-v3/arch/$MACHINE_ARCH/config.h \ 921.6Smrg <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h 931.6Smrg 941.1Smrg { 951.1Smrg # libmath 961.1Smrg getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ 971.1Smrg libmath_la_SOURCES libmath_la_LIBADD 981.1Smrg 991.1Smrg # libsupc++ 1001.1Smrg getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ 1011.1Smrg sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' 1021.1Smrg getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ 1031.1Smrg c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' 1041.1Smrg 1051.1Smrg # src 1061.1Smrg getvars $_PLATFORM/libstdc++-v3/src/Makefile \ 1071.1Smrg sources SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' 1081.1Smrg 1091.1Smrg # include 1101.1Smrg getvars $_PLATFORM/libstdc++-v3/include/Makefile \ 1111.1Smrg c_base_headers_rename std_headers_rename 1121.1Smrg getvars $_PLATFORM/libstdc++-v3/include/Makefile \ 1131.1Smrg bits_headers backward_headers ext_headers c_base_headers_extra \ 1141.1Smrg target_headers | sed 's#/[^ ][^ ]*/##g' 1151.1Smrg getvars $_PLATFORM/libstdc++-v3/include/Makefile \ 1161.1Smrg thread_target_headers target_headers_extra | sed 's#\./[^ ][^ ]*/##g' 1171.1Smrg } | write_mk gnu/lib/libstdc++-v3/arch/$MACHINE_ARCH/defs.mk 1181.1Smrg} 1191.1Smrg 1201.1Smrg##### gnu/usr.bin/gcc3 ##### 1211.1Smrg 1221.1Smrgget_gcc () { 1231.1Smrg mkdir -p $_TOP/gnu/usr.bin/gcc3/arch/$MACHINE_ARCH 1241.1Smrg 1251.1Smrg { 1261.1Smrg getvars gcc/Makefile \ 1271.1Smrg ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ 1281.1Smrg GCOV_OBJS PROTO_OBJS HOST_PRINT HOST_RTL HOST_RTLANAL \ 1291.1Smrg HOST_SUPPORT HOST_EARLY_SUPPORT HOST_ERRORS HOST_VARRAY \ 1301.1Smrg INCLUDES md_file OBJC_OBJS OBJS out_file version \ 1311.1Smrg BUILD_PREFIX RTL_H TREE_H HCONFIG_H BASIC_BLOCK_H GCC_H \ 1321.1Smrg GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ 1331.1Smrg GTFILES GTFILES_LANG_DIR_NAMES \ 1341.1Smrg tm_defines host_xm_file host_xm_defines tm_p_file \ 1351.1Smrg target_cpu_default \ 1361.1Smrg LIBCPP_OBJS LIBCPP_H \ 1371.1Smrg lang_specs_files 1381.1Smrg getvars gcc/Makefile \ 1391.1Smrg LIB2ADDEHDEP | sed 's/unwind.inc//' 1401.1Smrg getvars gcc/Makefile \ 1411.1Smrg CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' 1421.1Smrg getvars gcc/Makefile \ 1431.1Smrg F77_OBJS | sed 's/f\///g' 1441.1Smrg } | write_mk gnu/usr.bin/gcc3/arch/$MACHINE_ARCH/defs.mk 1451.1Smrg 1461.7Smrg for f in auto-host configargs cs-hconfig gencheck hconfig gthr-default; do 1471.1Smrg write_c gnu/usr.bin/gcc3/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h 1481.1Smrg done 1491.1Smrg} 1501.1Smrg 1511.1Smrg##### main ##### 1521.1Smrg 1531.1Smrgcase $1 in 1541.1Smrglibgcc) # .mk and .h files for libgcc bootstrap (from host build) 1551.1Smrg get_libgcc 1561.1Smrg exit 0 1571.1Smrg ;; 1581.1Smrg 1591.1Smrggcc3) 1601.1Smrg get_gcc 1611.1Smrg get_libg2c 1621.1Smrg get_libgcc 1631.1Smrg get_gcc3_libiberty 1641.1Smrg get_libobjc 1651.1Smrg get_libstdcxx_v3 1661.1Smrg exit 0 1671.1Smrg ;; 1681.1Smrg 1691.1Smrg*) echo invalid arguments; exit 1;; 1701.1Smrgesac 171