source: scripts/target-scripts/target-nettools.sh@ 873009c

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 873009c was 617118d, checked in by Jim Gifford <clfs@…>, 19 years ago

r561@server (orig r559): root | 2005-06-05 02:38:49 -0700
Fixed Directory Structure

  • Property mode set to 100755
File size: 3.1 KB
Line 
1#!/bin/bash
2
3# cross-lfs target net-tools build
4# --------------------------------
5# $LastChangedBy$
6# $LastChangedDate$
7# $LastChangedRevision$
8# $HeadURL$
9#
10
11#set -x
12cd ${SRC}
13LOG=net-tools-target.log
14
15set_libdirname
16setup_multiarch
17
18unpack_tarball net-tools-${NETTOOLS_VER}
19cd ${PKGDIR}
20
21# Retrieve target_gcc_ver from gcc -v output
22target_gcc_ver=`${TARGET}-gcc -v 2>&1 | grep " version " | \
23 sed 's@.*version \([0-9.]*\).*@\1@g'`
24
25case ${target_gcc_ver} in
26 3.4* | 4.* )
27 # Fix some syntax so gcc-3.4 is kept happy
28 # NOTE: this patch contains the miitool.c fix
29 apply_patch net-tools-1.60-gcc34-3
30 ;;
31 * )
32 # change string in miitool.c to something gcc-3.3 likes...
33 # TODO: wrap some logic around this...
34 apply_patch net-tools-1.60-miitool-gcc33-1
35 ;;
36esac
37
38
39# If we are building with 2.6 headers we need to adjust the x25
40# code in X25_setroute to use the size of "struct x25_address"
41# in the memcpy instead of "x25_address" ( x25_address is no longer
42# a typedef in <linux/x25.h> )
43case "${KERNEL_VER}" in
44 2.6* )
45 test -f lib/x25_sr.c-ORIG ||
46 mv lib/x25_sr.c lib/x25_sr.c-ORIG
47
48 sed 's@\(sizeof(\)\(x25_address)\)@\1struct \2@g' \
49 lib/x25_sr.c-ORIG > lib/x25_sr.c
50 ;;
51esac
52
53# Have noticed an issue with x86_64 biarch and linux-libc-headers-2.6.5.1
54# iptunnel.c barfs out on redefinitions of 3 structs in <linux/if.h>
55# ( ifmap, ifreq and ifconf ) which are also available in <net/if.h>.
56# Removal of reference to <net/if.h> solved the issue...
57# TODO: look into this
58
59
60# Check for previously created configuration files for target.
61# TODO: this really should go somewhere other than ${TARBALLS},
62# need a separate configs dir for the scripts for this and
63# kernel config...
64
65test -f ${TARBALLS}/net-tools-${NETTOOLS_VER}-config-${TARGET}.tar.bz2 &&
66{
67 # Previously installed config files
68 bzcat ${TARBALLS}/net-tools-${NETTOOLS_VER}-config-${TARGET}.tar.bz2 | \
69 tar xvf -
70} || {
71 # Will have to do it interactively, save config for reuse
72 make config
73
74 tar -cvf ${TARBALLS}/net-tools-${NETTOOLS_VER}-config-${TARGET}.tar config.h config.make config.status
75 bzip2 ${TARBALLS}/net-tools-${NETTOOLS_VER}-config-${TARGET}.tar
76}
77
78# Fix hostname.c for decnet (pulls in <netdnet/dn.h>, should use <linux/dn.h>
79# NOTE: this doesn't fix it... cant be bothered looking into it,
80# just don't bother with decnet...
81test -f hostname.c-ORIG ||
82 mv hostname.c hostname.c-ORIG
83sed 's@netdnet/dn.h@linux/dn.h@g' hostname.c-ORIG > hostname.c
84
85
86# Have to pass SHELL="bash" to make so that we use bash's "test" as
87# /usr/bin/test under solaris (used when /bin/sh is invoked as it has no
88# builtin) doesn't understand -nt (newer than)
89
90max_log_init Net-tools ${NETTOOLS_VER} "target (shared)" ${BUILDLOGS} ${LOG}
91make SHELL="bash" \
92 CC="${TARGET}-gcc ${ARCH_CFLAGS}" \
93 AR="${TARGET}-ar" \
94 COPTS="-D_GNU_SOURCE -O2 -Wall -pipe ${TGT_CFLAGS}" \
95 LOPTS="-s" \
96 >> ${LOGFILE} 2>&1 &&
97echo " o Build OK" &&
98
99min_log_init ${INSTLOGS} &&
100make BASEDIR="${LFS}" update \
101 >> ${LOGFILE} 2>&1 &&
102echo " o ALL OK" || barf
103
Note: See TracBrowser for help on using the repository browser.