1#!/bin/sh 2# $NetBSD: mknative-gdb,v 1.2 2007/02/19 18:26:22 chs Exp $ 3# 4# Shell script for generating all the constants needed for a native 5# platform build of src/gnu/dist/gdb6. 6# 7 8# initialise 9 10_TMPDIR=$2 11_TOP=$3 12_PLATFORM=$4 13_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` 14 15. $_TOP/tools/gcc/mknative.common 16 17##### gnu/usr.bin/gdb6/bfd ##### 18 19get_gdb_libbfd () { 20 mkdir -p $_TOP/gnu/usr.bin/gdb6/bfd/arch/$MACHINE_ARCH 21 22 { 23 getvars bfd/Makefile \ 24 libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ 25 INCLUDES TDEFAULTS 26 } | write_mk gnu/usr.bin/gdb6/bfd/arch/$MACHINE_ARCH/defs.mk 27 28 write_c gnu/usr.bin/gdb6/bfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h 29 write_c gnu/usr.bin/gdb6/bfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h 30 31 { 32 cat $_TMPDIR/bfd/config.h 33 } | write_c gnu/usr.bin/gdb6/bfd/arch/$MACHINE_ARCH/config.h 34} 35 36##### gnu/lib/opcodes ##### 37 38get_gdb_libopcodes () { 39 mkdir -p $_TOP/gnu/usr.bin/gdb6/opcodes/arch/$MACHINE_ARCH 40 41 { 42 getvars opcodes/Makefile \ 43 archdefs BFD_MACHINES libopcodes_la_SOURCES 44 } | write_mk gnu/usr.bin/gdb6/opcodes/arch/$MACHINE_ARCH/defs.mk 45 46 { 47 cat $_TMPDIR/opcodes/config.h 48 } | write_c gnu/usr.bin/gdb6/opcodes/arch/$MACHINE_ARCH/config.h 49} 50 51##### gnu/lib/libiberty ##### 52 53get_gdb_libiberty () { 54 mkdir -p $_TOP/gnu/usr.bin/gdb6/libiberty/arch/$MACHINE_ARCH 55 56 getvars libiberty/Makefile \ 57 ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ 58 | write_mk gnu/usr.bin/gdb6/libiberty/arch/$MACHINE_ARCH/defs.mk 59 60 write_c gnu/usr.bin/gdb6/libiberty/arch/$MACHINE_ARCH/config.h \ 61 <$_TMPDIR/libiberty/config.h 62} 63 64##### gnu/usr.bin/gdb6/readline ##### 65 66get_gdb_libreadline () { 67 mkdir -p $_TOP/gnu/usr.bin/gdb6/readline/arch/$MACHINE_ARCH 68 69 { 70 getvars readline/Makefile \ 71 CCFLAGS OBJECTS 72 } | write_mk gnu/usr.bin/gdb6/readline/arch/$MACHINE_ARCH/defs.mk 73 74 write_c gnu/usr.bin/gdb6/readline/arch/$MACHINE_ARCH/config.h \ 75 <$_TMPDIR/readline/config.h 76} 77 78##### gnu/usr.bin/gdb6 ##### 79 80get_gdb () { 81 mkdir -p $_TOP/gnu/usr.bin/gdb6/arch/$MACHINE_ARCH 82 83 { 84 getvars gdb/Makefile \ 85 INTERNAL_CFLAGS LIBGDB_OBS SIM_OBS 86 } | write_mk gnu/usr.bin/gdb6/arch/$MACHINE_ARCH/defs.mk 87 88# getvars gdb/gdbserver/Makefile \ 89# INTERNAL_CFLAGS OBS \ 90# | write_mk gnu/usr.bin/gdb/arch/$MACHINE_ARCH/gdbserver.mk 91 92 write_c gnu/usr.bin/gdb6/arch/$MACHINE_ARCH/config.h \ 93 < $_TMPDIR/gdb/config.h 94 95 for f in init version; do 96 write_c gnu/usr.bin/gdb6/arch/$MACHINE_ARCH/$f.c <$_TMPDIR/gdb/$f.c 97 done 98 99 for f in nm tm xm; do 100 if [ -f $_TMPDIR/gdb/$f.h ]; then 101 ls -l $_TMPDIR/gdb/$f.h | sed 's,^.*->.*/gdb/,,;s,^,#include <,;s,$,>,' \ 102 | write_c gnu/usr.bin/gdb6/arch/$MACHINE_ARCH/$f.h 103 fi 104 done 105 106 case $MACHINE_ARCH in 107 powerpc*) 108 mkdir -p $_TOP/gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH 109 write_c gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH/config.h \ 110 <$_TMPDIR/sim/ppc/config.h 111 write_c gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH/cconfig.h \ 112 <$_TMPDIR/sim/common/cconfig.h 113 ;; 114 xxmips*) 115 mkdir -p $_TOP/gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH 116 write_c gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH/config.h \ 117 <$_TMPDIR/sim/mips/config.h 118 write_c gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH/cconfig.h \ 119 <$_TMPDIR/sim/common/cconfig.h 120 { 121 getvars sim/mips/Makefile \ 122 LIB_OBJS CONFIG_CFLAGS \ 123 BUILT_SRC_FROM_IGEN IGEN_OBJS 124 } | write_mk gnu/usr.bin/gdb6/sim/arch/$MACHINE_ARCH/defs.mk 125 ;; 126 *) 127 ;; 128 esac 129} 130 131##### main ##### 132 133case $1 in 134all|gdb) # everything (uses "canadian cross" temp environment) 135 get_gdb 136 get_gdb_libbfd 137 get_gdb_libopcodes 138 get_gdb_libiberty 139 get_gdb_libreadline 140 exit 0 141 ;; 142 143*) echo invalid arguments; exit 1;; 144esac 145