it9c, 9l: accept CC9FLAGS from config - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit 9444b8e4bc847f8fd9d02466976b962288cedf31 /src/plan9port/commit/9444b8e4bc847f8fd9d02466976b962288cedf31.gph mx1.adamsgaard.dk 70 1parent 154140a22b1c697f6a3edb3e5913efded1be082a /src/plan9port/commit/154140a22b1c697f6a3edb3e5913efded1be082a.gph mx1.adamsgaard.dk 70 hAuthor: Russ Cox URL:mailto:rsc@swtch.com mx1.adamsgaard.dk 70 iDate: Sun, 17 May 2020 20:07:52 -0400 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i9c, 9l: accept CC9FLAGS from config Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iAlso, if CC9FLAGS includes -fsanitize=address (ASAN), Err mx1.adamsgaard.dk 70 ipredefine PLAN9PORT_ASAN for use by programs that need Err mx1.adamsgaard.dk 70 itto know (mainly libthread). Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iThe 9c script used to have a variable called ngflags, which Err mx1.adamsgaard.dk 70 iwas ccflags except -g (ng stood for "no g"), but nothing needs Err mx1.adamsgaard.dk 70 iit split out anymore, so simplify to just ccflags. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M bin/9c | 34 +++++++++++++++++++++---------- Err mx1.adamsgaard.dk 70 i M bin/9l | 14 +++++++------- Err mx1.adamsgaard.dk 70 i M man/man1/install.1 | 9 +++++++++ Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i3 files changed, 39 insertions(+), 18 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/bin/9c b/bin/9c /src/plan9port/file/bin/9c.gph mx1.adamsgaard.dk 70 it@@ -4,7 +4,7 @@ test -f $PLAN9/config && . $PLAN9/config Err mx1.adamsgaard.dk 70 i usegcc() Err mx1.adamsgaard.dk 70 i { Err mx1.adamsgaard.dk 70 i cc=${CC9:-gcc} Err mx1.adamsgaard.dk 70 i- ngflags=" \ Err mx1.adamsgaard.dk 70 i+ cflags=" \ Err mx1.adamsgaard.dk 70 i -O2 \ Err mx1.adamsgaard.dk 70 i -c \ Err mx1.adamsgaard.dk 70 i -Wall \ Err mx1.adamsgaard.dk 70 it@@ -24,7 +24,12 @@ usegcc() Err mx1.adamsgaard.dk 70 i " Err mx1.adamsgaard.dk 70 i # want to put -fno-optimize-sibling-calls here but Err mx1.adamsgaard.dk 70 i # that option only works with gcc3+ it seems Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -ggdb" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -ggdb" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags $CC9FLAGS" Err mx1.adamsgaard.dk 70 i+ case "$cflags" in Err mx1.adamsgaard.dk 70 i+ *sanitize=address*) Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -DPLAN9PORT_ASAN" Err mx1.adamsgaard.dk 70 i+ esac Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i quiet() Err mx1.adamsgaard.dk 70 it@@ -60,7 +65,7 @@ quiet() Err mx1.adamsgaard.dk 70 i useclang() Err mx1.adamsgaard.dk 70 i { Err mx1.adamsgaard.dk 70 i cc=${CC9:-clang} Err mx1.adamsgaard.dk 70 i- ngflags=" \ Err mx1.adamsgaard.dk 70 i+ cflags=" \ Err mx1.adamsgaard.dk 70 i -O2 \ Err mx1.adamsgaard.dk 70 i -c \ Err mx1.adamsgaard.dk 70 i -Wall \ Err mx1.adamsgaard.dk 70 it@@ -79,13 +84,19 @@ useclang() Err mx1.adamsgaard.dk 70 i -fsigned-char \ Err mx1.adamsgaard.dk 70 i -fno-caret-diagnostics \ Err mx1.adamsgaard.dk 70 i " Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags $CC9FLAGS" Err mx1.adamsgaard.dk 70 i+ Err mx1.adamsgaard.dk 70 i+ case "$cflags" in Err mx1.adamsgaard.dk 70 i+ *sanitize=address*) Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -DPLAN9PORT_ASAN" Err mx1.adamsgaard.dk 70 i+ esac Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i usexlc() Err mx1.adamsgaard.dk 70 i { Err mx1.adamsgaard.dk 70 i cc=${CC9:-xlc_r} Err mx1.adamsgaard.dk 70 i- ngflags=" \ Err mx1.adamsgaard.dk 70 i+ cflags=" \ Err mx1.adamsgaard.dk 70 i -c \ Err mx1.adamsgaard.dk 70 i -O0 \ Err mx1.adamsgaard.dk 70 i -qmaxmem=-1 \ Err mx1.adamsgaard.dk 70 it@@ -96,7 +107,8 @@ usexlc() Err mx1.adamsgaard.dk 70 i -qsuppress=1506-1300 \ Err mx1.adamsgaard.dk 70 i -qsuppress=1506-342 \ Err mx1.adamsgaard.dk 70 i " Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g -qfullpath" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g -qfullpath" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags $CC9FLAGS" Err mx1.adamsgaard.dk 70 i } Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}" Err mx1.adamsgaard.dk 70 it@@ -105,14 +117,14 @@ case "$tag" in Err mx1.adamsgaard.dk 70 i *DragonFly*clang|*BSD*clang*) useclang ;; Err mx1.adamsgaard.dk 70 i *Darwin-x86_64*) Err mx1.adamsgaard.dk 70 i useclang Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g3 -m64" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g3 -m64" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *Darwin*clang*) Err mx1.adamsgaard.dk 70 i useclang Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g3 -m32" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g3 -m32" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *Darwin*) usegcc Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g3 -no-cpp-precomp -m32" ;; Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g3 -no-cpp-precomp -m32" ;; Err mx1.adamsgaard.dk 70 i *HP-UX*) cc=${CC9:-cc}; cflags="-g -O -c -Ae" ;; Err mx1.adamsgaard.dk 70 i *Linux*) usegcc Err mx1.adamsgaard.dk 70 i case "${CC9:-gcc}" in Err mx1.adamsgaard.dk 70 it@@ -134,11 +146,11 @@ case "$tag" in Err mx1.adamsgaard.dk 70 i u=`uname` Err mx1.adamsgaard.dk 70 i v=`uname -r` Err mx1.adamsgaard.dk 70 i s=`echo $u$v | tr '. ' '__'` Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g" Err mx1.adamsgaard.dk 70 i cflags="$cflags -D__sun__ -D__${s}__" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *AIX*) usexlc Err mx1.adamsgaard.dk 70 i- cflags="$ngflags -g -D__AIX__" Err mx1.adamsgaard.dk 70 i+ cflags="$cflags -g -D__AIX__" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *) Err mx1.adamsgaard.dk 70 i echo 9c does not know how to compile on "$tag" 1>&2 Err mx1.adamsgaard.dk 70 1diff --git a/bin/9l b/bin/9l /src/plan9port/file/bin/9l.gph mx1.adamsgaard.dk 70 it@@ -12,29 +12,29 @@ extralibs="-lm" Err mx1.adamsgaard.dk 70 i tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}" Err mx1.adamsgaard.dk 70 i case "$tag" in Err mx1.adamsgaard.dk 70 i *DragonFly*|*BSD*) Err mx1.adamsgaard.dk 70 i- ld=${CC9:-gcc} Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-gcc} $CC9FLAGS" Err mx1.adamsgaard.dk 70 i userpath=true Err mx1.adamsgaard.dk 70 i extralibs="$extralibs -lutil" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *OSF1*) Err mx1.adamsgaard.dk 70 i- ld=${CC9:-cc} Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-cc} $CC9FLAGS" Err mx1.adamsgaard.dk 70 i userpath=true Err mx1.adamsgaard.dk 70 i extralibs="$extralibs -lutil" Err mx1.adamsgaard.dk 70 i nmflags="-B" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *Linux*) Err mx1.adamsgaard.dk 70 i- ld=${CC9:-gcc} Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-gcc} $CC9FLAGS" Err mx1.adamsgaard.dk 70 i userpath=true Err mx1.adamsgaard.dk 70 i extralibs="$extralibs -lutil -lresolv -lpthread" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *Darwin*x86_64*) Err mx1.adamsgaard.dk 70 i- ld="${CC9:-gcc} -m64" Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-gcc} -m64 $CC9FLAGS" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *Darwin*) Err mx1.adamsgaard.dk 70 i- ld="${CC9:-gcc} -m32" Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-gcc} -m32 $CC9FLAGS" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *SunOS*) Err mx1.adamsgaard.dk 70 i- ld="${CC9:-cc} -g" Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-cc} -g $CC9FLAGS" Err mx1.adamsgaard.dk 70 i extralibs="$extralibs -lrt -lpthread -lsocket -lnsl" Err mx1.adamsgaard.dk 70 i # Record paths to shared libraries to avoid needing LD_LIBRARY_PATH Err mx1.adamsgaard.dk 70 i for i in "$libsl $@" Err mx1.adamsgaard.dk 70 it@@ -61,7 +61,7 @@ case "$tag" in Err mx1.adamsgaard.dk 70 i esac Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 i *AIX*) Err mx1.adamsgaard.dk 70 i- ld="${CC9:-xlc_r} -g -O0" Err mx1.adamsgaard.dk 70 i+ ld="${CC9:-xlc_r} -g -O0 $CC9FLAGS" Err mx1.adamsgaard.dk 70 i nmflags="-A -B" Err mx1.adamsgaard.dk 70 i extralibs="$extralibs -lpthread" Err mx1.adamsgaard.dk 70 i ;; Err mx1.adamsgaard.dk 70 1diff --git a/man/man1/install.1 b/man/man1/install.1 /src/plan9port/file/man/man1/install.1.gph mx1.adamsgaard.dk 70 it@@ -89,6 +89,15 @@ If Err mx1.adamsgaard.dk 70 i contains a line Err mx1.adamsgaard.dk 70 i .B WSYSTYPE=nowsys Err mx1.adamsgaard.dk 70 i then the system is built without using X11. Err mx1.adamsgaard.dk 70 i+.B LOCAL.config Err mx1.adamsgaard.dk 70 i+may also list settings for Err mx1.adamsgaard.dk 70 i+.B CC9 Err mx1.adamsgaard.dk 70 i+(the host C compiler) Err mx1.adamsgaard.dk 70 i+and Err mx1.adamsgaard.dk 70 i+.B CC9FLAGS Err mx1.adamsgaard.dk 70 i+(any additional flags to pass to the compiler). Err mx1.adamsgaard.dk 70 i+Values more complex than single words should be quoted Err mx1.adamsgaard.dk 70 i+with single quotes. Err mx1.adamsgaard.dk 70 i .PP Err mx1.adamsgaard.dk 70 i On most Linux systems, the X11 header packages need to be installed Err mx1.adamsgaard.dk 70 i to build using X11. On Debian. the required packages are Err mx1.adamsgaard.dk 70 .