head 1.95; access; symbols pkgsrc-2023Q4:1.94.0.2 pkgsrc-2023Q4-base:1.94 pkgsrc-2023Q3:1.92.0.4 pkgsrc-2023Q3-base:1.92 pkgsrc-2023Q2:1.92.0.2 pkgsrc-2023Q2-base:1.92 pkgsrc-2023Q1:1.91.0.4 pkgsrc-2023Q1-base:1.91 pkgsrc-2022Q4:1.91.0.2 pkgsrc-2022Q4-base:1.91 pkgsrc-2022Q3:1.90.0.4 pkgsrc-2022Q3-base:1.90 pkgsrc-2022Q2:1.90.0.2 pkgsrc-2022Q2-base:1.90 pkgsrc-2022Q1:1.88.0.2 pkgsrc-2022Q1-base:1.88 pkgsrc-2021Q4:1.87.0.2 pkgsrc-2021Q4-base:1.87 pkgsrc-2021Q3:1.84.0.8 pkgsrc-2021Q3-base:1.84 pkgsrc-2021Q2:1.84.0.6 pkgsrc-2021Q2-base:1.84 pkgsrc-2021Q1:1.84.0.4 pkgsrc-2021Q1-base:1.84 pkgsrc-2020Q4:1.84.0.2 pkgsrc-2020Q4-base:1.84 pkgsrc-2020Q3:1.83.0.6 pkgsrc-2020Q3-base:1.83 pkgsrc-2020Q2:1.83.0.4 pkgsrc-2020Q2-base:1.83 pkgsrc-2020Q1:1.83.0.2 pkgsrc-2020Q1-base:1.83 pkgsrc-2019Q4:1.80.0.10 pkgsrc-2019Q4-base:1.80 pkgsrc-2019Q3:1.80.0.6 pkgsrc-2019Q3-base:1.80 pkgsrc-2019Q2:1.80.0.4 pkgsrc-2019Q2-base:1.80 pkgsrc-2019Q1:1.80.0.2 pkgsrc-2019Q1-base:1.80 pkgsrc-2018Q4:1.78.0.10 pkgsrc-2018Q4-base:1.78 pkgsrc-2018Q3:1.78.0.8 pkgsrc-2018Q3-base:1.78 pkgsrc-2018Q2:1.78.0.6 pkgsrc-2018Q2-base:1.78 pkgsrc-2018Q1:1.78.0.4 pkgsrc-2018Q1-base:1.78 pkgsrc-2017Q4:1.78.0.2 pkgsrc-2017Q4-base:1.78 pkgsrc-2017Q3:1.76.0.4 pkgsrc-2017Q3-base:1.76 pkgsrc-2017Q2:1.75.0.2 pkgsrc-2017Q2-base:1.75 pkgsrc-2017Q1:1.72.0.2 pkgsrc-2017Q1-base:1.72 pkgsrc-2016Q4:1.69.0.2 pkgsrc-2016Q4-base:1.69 pkgsrc-2016Q3:1.68.0.2 pkgsrc-2016Q3-base:1.68 pkgsrc-2016Q2:1.66.0.4 pkgsrc-2016Q2-base:1.66 pkgsrc-2016Q1:1.66.0.2 pkgsrc-2016Q1-base:1.66 pkgsrc-2015Q4:1.64.0.2 pkgsrc-2015Q4-base:1.64 pkgsrc-2015Q3:1.63.0.2 pkgsrc-2015Q3-base:1.63 pkgsrc-2015Q2:1.62.0.2 pkgsrc-2015Q2-base:1.62 pkgsrc-2015Q1:1.60.0.10 pkgsrc-2015Q1-base:1.60 pkgsrc-2014Q4:1.60.0.8 pkgsrc-2014Q4-base:1.60 pkgsrc-2014Q3:1.60.0.6 pkgsrc-2014Q3-base:1.60 pkgsrc-2014Q2:1.60.0.4 pkgsrc-2014Q2-base:1.60 pkgsrc-2014Q1:1.60.0.2 pkgsrc-2014Q1-base:1.60 pkgsrc-2013Q4:1.56.0.4 pkgsrc-2013Q4-base:1.56 pkgsrc-2013Q3:1.56.0.2 pkgsrc-2013Q3-base:1.56 pkgsrc-2013Q2:1.55.0.2 pkgsrc-2013Q2-base:1.55 pkgsrc-2013Q1:1.52.0.4 pkgsrc-2013Q1-base:1.52 pkgsrc-2012Q4:1.52.0.2 pkgsrc-2012Q4-base:1.52 pkgsrc-2012Q3:1.51.0.4 pkgsrc-2012Q3-base:1.51 pkgsrc-2012Q2:1.51.0.2 pkgsrc-2012Q2-base:1.51 pkgsrc-2012Q1:1.49.0.2 pkgsrc-2012Q1-base:1.49 pkgsrc-2011Q4:1.45.0.2 pkgsrc-2011Q4-base:1.45 pkgsrc-2011Q3:1.43.0.2 pkgsrc-2011Q3-base:1.43 pkgsrc-2011Q2:1.42.0.2 pkgsrc-2011Q2-base:1.42 pkgsrc-2011Q1:1.41.0.2 pkgsrc-2011Q1-base:1.41 pkgsrc-2010Q4:1.40.0.4 pkgsrc-2010Q4-base:1.40 pkgsrc-2010Q3:1.40.0.2 pkgsrc-2010Q3-base:1.40 pkgsrc-2010Q2:1.39.0.2 pkgsrc-2010Q2-base:1.39 pkgsrc-2010Q1:1.37.0.2 pkgsrc-2010Q1-base:1.37 pkgsrc-2009Q4:1.34.0.4 pkgsrc-2009Q4-base:1.34 pkgsrc-2009Q3:1.34.0.2 pkgsrc-2009Q3-base:1.34 pkgsrc-2009Q2:1.33.0.16 pkgsrc-2009Q2-base:1.33 pkgsrc-2009Q1:1.33.0.14 pkgsrc-2009Q1-base:1.33 pkgsrc-2008Q4:1.33.0.12 pkgsrc-2008Q4-base:1.33 pkgsrc-2008Q3:1.33.0.10 pkgsrc-2008Q3-base:1.33 cube-native-xorg:1.33.0.8 cube-native-xorg-base:1.33 pkgsrc-2008Q2:1.33.0.6 pkgsrc-2008Q2-base:1.33 cwrapper:1.33.0.4 pkgsrc-2008Q1:1.33.0.2 pkgsrc-2008Q1-base:1.33 pkgsrc-2007Q4:1.31.0.2 pkgsrc-2007Q4-base:1.31 pkgsrc-2007Q3:1.29.0.2 pkgsrc-2007Q3-base:1.29 pkgsrc-2007Q2:1.27.0.8 pkgsrc-2007Q2-base:1.27 pkgsrc-2007Q1:1.27.0.6 pkgsrc-2007Q1-base:1.27 jlam-pkgviews:1.27.0.4 jlam-pkgviews-base:1.27 pkgsrc-2006Q4:1.27.0.2 pkgsrc-2006Q4-base:1.27 pkgsrc-2006Q3:1.25.0.2 pkgsrc-2006Q3-base:1.25 pkgsrc-2006Q2:1.24.0.2 pkgsrc-2006Q2-base:1.24 tv-derecurse-eol:1.5.2.5 pkgsrc-2006Q1:1.23.0.2 pkgsrc-2006Q1-base:1.23 pkgsrc-2005Q4:1.19.0.2 pkgsrc-2005Q4-base:1.19 pkgsrc-2005Q3:1.18.0.2 pkgsrc-2005Q3-base:1.18 pkgsrc-2005Q2:1.16.0.2 pkgsrc-2005Q2-base:1.16 tv-derecurse-merge:1.13 pkgsrc-2005Q1:1.10.0.2 pkgsrc-2005Q1-base:1.10 pkgsrc-2004Q4:1.5.0.4 pkgsrc-2004Q4-base:1.5 tv-derecurse:1.5.0.2 tv-derecurse-base:1.10; locks; strict; comment @# @; 1.95 date 2024.03.16.22.55.42; author nia; state Exp; branches; next 1.94; commitid q8GBdJBZgHater2F; 1.94 date 2023.11.29.17.13.47; author jperkin; state Exp; branches; next 1.93; commitid PTEP3MBHm7dkOwOE; 1.93 date 2023.11.15.14.14.09; author nia; state Exp; branches; next 1.92; commitid mMM77RTo37tGgIME; 1.92 date 2023.05.18.00.04.26; author schmonz; state Exp; branches; next 1.91; commitid j7QYnJ6DkO4VnnpE; 1.91 date 2022.09.27.08.46.33; author jperkin; state Exp; branches; next 1.90; commitid UMDSZ30wsMUVKtVD; 1.90 date 2022.05.01.08.10.11; author nia; state Exp; branches; next 1.89; commitid JUgkRDTgzG6PlkCD; 1.89 date 2022.05.01.08.03.41; author nia; state Exp; branches; next 1.88; commitid URh7Zqj2R4U7jkCD; 1.88 date 2022.02.10.21.22.44; author schmonz; state Exp; branches; next 1.87; commitid 5XjFRky0yedcj7sD; 1.87 date 2021.11.14.14.47.11; author schmonz; state Exp; branches; next 1.86; commitid uWSLhgOcBcbSWLgD; 1.86 date 2021.11.09.12.04.43; author nia; state Exp; branches; next 1.85; commitid mpiBaNixTtP1d7gD; 1.85 date 2021.11.09.11.05.07; author nia; state Exp; branches; next 1.84; commitid 5dXdPNIcE4gAS6gD; 1.84 date 2020.12.13.16.26.12; author nia; state Exp; branches; next 1.83; commitid KbEYUZe82iesiBzC; 1.83 date 2020.01.28.08.38.47; author rillig; state Exp; branches; next 1.82; commitid eALOMBPW9Ri0ZqUB; 1.82 date 2020.01.24.12.36.28; author nia; state Exp; branches; next 1.81; commitid 91SuUr0zqqwfrWTB; 1.81 date 2020.01.24.12.32.21; author nia; state Exp; branches; next 1.80; commitid 7wK6NHvsahCjpWTB; 1.80 date 2019.01.24.18.40.56; author tnn; state Exp; branches; next 1.79; commitid 7A2rBjeStDM1b49B; 1.79 date 2019.01.09.13.19.03; author wiz; state Exp; branches; next 1.78; commitid IHlBnmPelQN8T67B; 1.78 date 2017.11.21.19.16.47; author bsiegert; state Exp; branches; next 1.77; commitid u11AdZa65DmxaWfA; 1.77 date 2017.10.03.13.18.00; author jperkin; state Exp; branches; next 1.76; commitid OUMGg0X6PVrZKB9A; 1.76 date 2017.08.04.08.59.20; author jperkin; state Exp; branches; next 1.75; commitid xZs8AKKF2jKNfS1A; 1.75 date 2017.06.09.17.21.53; author khorben; state Exp; branches; next 1.74; commitid ynWvojpz4TQgQIUz; 1.74 date 2017.06.09.17.04.18; author khorben; state Exp; branches; next 1.73; commitid fWeAkEzQp8XfKIUz; 1.73 date 2017.06.09.16.56.26; author khorben; state Exp; branches; next 1.72; commitid b1jrbu0JfKfmHIUz; 1.72 date 2017.02.01.10.00.17; author sevan; state Exp; branches; next 1.71; commitid 0y7WyOD5xgqoueEz; 1.71 date 2017.02.01.07.25.28; author jperkin; state Exp; branches; next 1.70; commitid D7sVS0Mz9dmOEdEz; 1.70 date 2017.02.01.03.00.35; author sevan; state Exp; branches; next 1.69; commitid S9vazKoGi8iBacEz; 1.69 date 2016.10.27.10.31.06; author jperkin; state Exp; branches; next 1.68; commitid eHVg9I0UTcbILLrz; 1.68 date 2016.09.17.05.41.37; author richard; state Exp; branches; next 1.67; commitid IxddwKTtXJBIsBmz; 1.67 date 2016.08.24.05.31.20; author richard; state Exp; branches; next 1.66; commitid qIMqmPrdnYNBawjz; 1.66 date 2016.03.17.16.02.23; author jperkin; state Exp; branches; next 1.65; commitid jJdF0XFxn2lSM0Zy; 1.65 date 2016.03.10.16.58.19; author jperkin; state Exp; branches; next 1.64; commitid PJtLncvNwXCOm7Yy; 1.64 date 2015.11.18.22.30.12; author jperkin; state Exp; branches; next 1.63; commitid HZ3GN66qcDBYPCJy; 1.63 date 2015.07.18.15.08.43; author wiedi; state Exp; branches; next 1.62; commitid 2M4HK27MlC2wlMty; 1.62 date 2015.05.08.20.28.30; author sevan; state Exp; branches; next 1.61; commitid Ibhhz91JcbldmGky; 1.61 date 2015.04.21.17.01.56; author joerg; state Exp; branches; next 1.60; commitid 4CPVCeF29Qz7Ntiy; 1.60 date 2014.03.07.15.03.15; author jperkin; state Exp; branches; next 1.59; commitid lAAm2ku7aSZ9kMrx; 1.59 date 2014.02.20.11.03.09; author jperkin; state Exp; branches; next 1.58; commitid U4guGyjdN43UtPpx; 1.58 date 2014.02.20.10.52.33; author jperkin; state Exp; branches; next 1.57; commitid ixVqg5BaKnYdqPpx; 1.57 date 2014.02.19.17.20.23; author jperkin; state Exp; branches; next 1.56; commitid rkZDcOtPDeCVAJpx; 1.56 date 2013.07.23.13.01.05; author ryoon; state Exp; branches; next 1.55; commitid IpFQw5uLFa4LWAYw; 1.55 date 2013.05.17.03.40.02; author dsainty; state Exp; branches; next 1.54; commitid EcgNp7WmoiSXZVPw; 1.54 date 2013.05.11.23.56.24; author ryoon; state Exp; branches; next 1.53; commitid k98cWgAAUfTUUgPw; 1.53 date 2013.04.28.12.53.56; author obache; state Exp; branches; next 1.52; 1.52 date 2012.11.19.11.34.15; author ryoon; state Exp; branches; next 1.51; 1.51 date 2012.04.23.08.14.36; author sbd; state Exp; branches; next 1.50; 1.50 date 2012.04.09.04.19.24; author sbd; state Exp; branches; next 1.49; 1.49 date 2012.03.19.12.34.17; author joerg; state Exp; branches 1.49.2.1; next 1.48; 1.48 date 2012.03.05.07.53.42; author sbd; state Exp; branches; next 1.47; 1.47 date 2012.01.22.08.40.11; author sbd; state Exp; branches; next 1.46; 1.46 date 2012.01.17.21.10.24; author sbd; state Exp; branches; next 1.45; 1.45 date 2011.10.31.23.22.59; author sbd; state Exp; branches; next 1.44; 1.44 date 2011.10.15.03.15.37; author sbd; state Exp; branches; next 1.43; 1.43 date 2011.08.22.15.17.53; author cheusov; state Exp; branches; next 1.42; 1.42 date 2011.05.11.12.46.20; author obache; state Exp; branches; next 1.41; 1.41 date 2011.03.20.09.00.08; author obache; state Exp; branches; next 1.40; 1.40 date 2010.07.08.04.57.36; author dholland; state Exp; branches; next 1.39; 1.39 date 2010.05.20.07.57.23; author sbd; state Exp; branches; next 1.38; 1.38 date 2010.05.16.06.59.26; author sbd; state Exp; branches; next 1.37; 1.37 date 2010.03.18.22.46.01; author sbd; state Exp; branches; next 1.36; 1.36 date 2010.02.13.08.29.12; author obache; state Exp; branches; next 1.35; 1.35 date 2010.01.16.02.16.35; author obache; state Exp; branches; next 1.34; 1.34 date 2009.07.26.05.32.43; author agc; state Exp; branches; next 1.33; 1.33 date 2008.03.04.06.45.34; author jlam; state Exp; branches; next 1.32; 1.32 date 2008.01.12.22.44.10; author joerg; state Exp; branches; next 1.31; 1.31 date 2007.10.19.13.41.35; author rillig; state Exp; branches; next 1.30; 1.30 date 2007.10.18.21.52.24; author rillig; state Exp; branches; next 1.29; 1.29 date 2007.07.29.05.19.44; author jlam; state Exp; branches; next 1.28; 1.28 date 2007.07.02.14.03.40; author joerg; state Exp; branches; next 1.27; 1.27 date 2006.11.18.07.48.06; author rillig; state Exp; branches; next 1.26; 1.26 date 2006.10.06.14.28.46; author joerg; state Exp; branches; next 1.25; 1.25 date 2006.07.20.20.02.23; author jlam; state Exp; branches; next 1.24; 1.24 date 2006.04.12.21.01.15; author joerg; state Exp; branches; next 1.23; 1.23 date 2006.03.18.21.40.45; author jlam; state Exp; branches; next 1.22; 1.22 date 2006.01.12.23.43.57; author jlam; state Exp; branches; next 1.21; 1.21 date 2006.01.10.16.58.04; author christos; state Exp; branches; next 1.20; 1.20 date 2006.01.06.22.47.24; author christos; state Exp; branches; next 1.19; 1.19 date 2005.12.04.01.44.30; author joerg; state Exp; branches; next 1.18; 1.18 date 2005.08.02.03.38.09; author reed; state Exp; branches; next 1.17; 1.17 date 2005.08.02.00.23.31; author reed; state Exp; branches; next 1.16; 1.16 date 2005.06.14.07.12.23; author jlam; state Exp; branches; next 1.15; 1.15 date 2005.06.01.18.14.23; author jlam; state Exp; branches; next 1.14; 1.14 date 2005.05.22.19.11.15; author jlam; state Exp; branches; next 1.13; 1.13 date 2005.05.03.18.30.12; author jlam; state Exp; branches; next 1.12; 1.12 date 2005.05.03.15.10.59; author jlam; state Exp; branches; next 1.11; 1.11 date 2005.05.02.21.10.02; author jlam; state Exp; branches; next 1.10; 1.10 date 2005.03.18.18.16.35; author tv; state Exp; branches; next 1.9; 1.9 date 2005.02.17.20.03.26; author reed; state Exp; branches; next 1.8; 1.8 date 2005.01.28.21.05.59; author jlam; state Exp; branches; next 1.7; 1.7 date 2005.01.25.18.15.58; author tv; state Exp; branches; next 1.6; 1.6 date 2004.12.29.23.19.43; author minskim; state Exp; branches; next 1.5; 1.5 date 2004.11.16.18.04.00; author tv; state Exp; branches 1.5.2.1; next 1.4; 1.4 date 2004.11.16.16.21.40; author tv; state Exp; branches; next 1.3; 1.3 date 2004.11.15.14.48.18; author tv; state Exp; branches; next 1.2; 1.2 date 2004.10.13.15.31.31; author tv; state Exp; branches; next 1.1; 1.1 date 2004.10.06.20.51.47; author jlam; state Exp; branches; next ; 1.49.2.1 date 2012.04.09.07.41.24; author spz; state Exp; branches; next ; 1.5.2.1 date 2004.12.31.20.25.30; author tv; state Exp; branches; next 1.5.2.2; 1.5.2.2 date 2005.02.11.15.27.57; author tv; state Exp; branches; next 1.5.2.3; 1.5.2.3 date 2005.02.25.14.46.51; author tv; state Exp; branches; next 1.5.2.4; 1.5.2.4 date 2005.03.21.15.43.00; author tv; state Exp; branches; next 1.5.2.5; 1.5.2.5 date 2005.05.17.18.29.46; author tv; state Exp; branches; next 1.5.2.6; 1.5.2.6 date 2006.06.07.15.25.39; author tv; state dead; branches; next ; desc @@ 1.95 log @mk: Introduce a OPSYS_HAS_SENDFILE feature flag @ text @# $NetBSD: Linux.mk,v 1.94 2023/11/29 17:13:47 jperkin Exp $ # # Variable definitions for the Linux operating system. ECHO_N?= ${ECHO} -n .if defined(X11_TYPE) && ${X11_TYPE} == "native" IMAKE_MAKE?= ${GMAKE} # program which gets invoked by imake IMAKE_TOOLS= gmake # extra tools required when we use imake .endif IMAKEOPTS+= -DBuildHtmlManPages=NO PKGLOCALEDIR?= share TYPE?= type # Shell builtin .if exists(/etc/NIXOS) PS?= /run/current-system/sw/bin/ps SU?= /run/current-system/sw/bin/su USERADD?= /run/current-system/sw/bin/useradd GROUPADD?= /run/current-system/sw/bin/groupadd NOLOGIN?= /run/current-system/sw/bin/nologin .endif PS?= /bin/ps .if exists(/usr/bin/su) SU?= /usr/bin/su .else SU?= /bin/su .endif .if exists(/sbin/nologin) NOLOGIN?= /sbin/nologin .elif exists(/usr/sbin/nologin) NOLOGIN?= /usr/sbin/nologin .else NOLOGIN?= /bin/false .endif USERADD?= /usr/sbin/useradd GROUPADD?= /usr/sbin/groupadd CPP_PRECOMP_FLAGS?= # unset DEF_UMASK?= 022 DEFAULT_SERIAL_DEVICE?= /dev/null EXPORT_SYMBOLS_LDFLAGS?= # Don't add symbols to the dynamic symbol table MOTIF_TYPE_DEFAULT?= motif # default 2.0 compatible libs type PKG_TOOLS_BIN?= ${LOCALBASE}/sbin ROOT_CMD?= ${SU} - root -c .if exists(/etc/ssdlinux_version) ROOT_GROUP?= wheel .else ROOT_GROUP?= root .endif ROOT_USER?= root SERIAL_DEVICES?= /dev/null ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d` ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s` ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m` ULIMIT_CMD_cputime?= ulimit -t `ulimit -H -t` _OPSYS_EMULDIR.linux= # empty _OPSYS_EMULDIR.linux32= # empty # Support Debian/Ubuntu's multiarch hierarchy. .if exists(/etc/debian_version) . if !empty(MACHINE_ARCH:Mx86_64) _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu . endif . if !empty(MACHINE_ARCH:Mi386) _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/i386-linux-gnu /usr/lib/i386-linux-gnu . endif . if !empty(MACHINE_ARCH:Marm*) . if exists(/etc/ld.so.conf.d/arm-linux-gnueabihf.conf) _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}:/lib/arm-linux-gnueabihf:/usr/lib/arm-linux-gnueabihf _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf . else _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}:/lib/arm-linux-gnueabi:/usr/lib/arm-linux-gnueabi _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/arm-linux-gnueabi /usr/lib/arm-linux-gnueabi . endif . endif . if !empty(MACHINE_ARCH:Maarch64) LIBABISUFFIX?= /aarch64-linux-gnu _OPSYS_SYSTEM_RPATH= /lib:/usr/lib:/lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX} _OPSYS_LIB_DIRS?= /lib /usr/lib /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} . endif . if !empty(MACHINE_ARCH:Mpowerpc64le) LIBABISUFFIX?= /powerpc64le-linux-gnu _OPSYS_SYSTEM_RPATH= /lib:/usr/lib:/lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX} _OPSYS_LIB_DIRS?= /lib /usr/lib /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} . endif .elif exists(/etc/arch-release) _OPSYS_SYSTEM_RPATH= /lib:/usr/lib:/lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX} _OPSYS_LIB_DIRS?= /lib /usr/lib /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} .elif exists(/etc/NIXOS) # NixOS has no fixed locations for system libraries. _OPSYS_INCLUDE_DIRS!= echo "" | cpp -v 2>&1 | grep '^[[:space:]]*/.*include$$' | tr '\n' ' ' _OPSYS_LIB_DIRS!= cc -print-search-dirs | awk '/^libraries:/ { $$1=""; $$2=substr($$2, 2); print $$0; }' | tr ':' '\n' .else _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX} _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} .endif _OPSYS_INCLUDE_DIRS?= /usr/include .if !empty(OS_VARIANT:Mchromeos) _OPSYS_LIB_DIRS+= /usr/local/lib _OPSYS_INCLUDE_DIRS+= /usr/local/include .endif # These are libc builtins _OPSYS_PREFER.getopt?= native _OPSYS_PREFER.gettext?= native _OPSYS_PREFER.iconv?= native _OPSYS_PREFER.libexecinfo?= native _OPSYS_PREFER.libinotify?= native _OPSYS_PREFER.sysexits?= native # We probably want the native library for these _OPSYS_PREFER.dl?= native _OPSYS_PREFER.pthread?= native _OPSYS_HAS_INET6= yes # IPv6 is standard _OPSYS_HAS_JAVA= no # Java is not standard _OPSYS_HAS_MANZ= no # no MANZ for gzipping of man pages _OPSYS_HAS_OSSAUDIO= no # libossaudio is unavailable _OPSYS_PERL_REQD= # no base version of perl required _OPSYS_PTHREAD_AUTO= no # -lpthread needed for pthreads _OPSYS_SHLIB_TYPE= ELF # shared lib type _PATCH_CAN_BACKUP= yes # native patch(1) can make backups _PATCH_BACKUP_ARG?= -b -V simple -z # switch to patch(1) for backup suffix _USE_RPATH= yes # add rpath to LDFLAGS _STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip _STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip _OPSYS_SUPPORTS_CWRAPPERS= yes _OPSYS_SUPPORTS_MKTOOLS= yes _OPSYS_CAN_CHECK_SHLIBS= yes # use readelf in check/bsd.check-vars.mk _OPSYS_CAN_CHECK_SSP= no # only supports libssp at this time # check for maximum command line length and set it in configure's environment, # to avoid a test required by the libtool script that takes forever. .if exists(/usr/bin/getconf) _OPSYS_MAX_CMDLEN_CMD?= /usr/bin/getconf ARG_MAX .endif # Register support for FORTIFY (with GCC). Linux only supports FORTIFY # when optimisation is enabled, otherwise warnings are issued. .if !empty(CFLAGS:M-O*) _OPSYS_SUPPORTS_FORTIFY=yes .endif # Register support for RELRO on supported architectures .if (${MACHINE_ARCH} == "i386") || \ (${MACHINE_ARCH} == "x86_64") _OPSYS_SUPPORTS_RELRO= yes .endif # Register support for SSP on x86 architectures .if (${MACHINE_ARCH} == "i386") || \ (${MACHINE_ARCH} == "x86_64") _OPSYS_SUPPORTS_SSP= yes .endif .if ${MACHINE_ARCH} == "x86_64" ABI?= 64 LIBABISUFFIX?= 64 .endif .if ${MACHINE_ARCH} == "powerpc64le" ABI?= 64 LIBABISUFFIX?= 64 .endif .if ${MACHINE_ARCH} == "aarch64" # No toolchain multilib support yet? # ABI?= 64 LIBABISUFFIX?= 64 .endif # When building 32-bit packages on x86_64 GNU ld isn't smart enough to # figure out the target architecture based on the objects so we need to # explicitly set it. .if ${HOST_MACHINE_ARCH} == "x86_64" && ${MACHINE_ARCH} == "i386" _WRAP_EXTRA_ARGS.LD+= -m elf_i386 CWRAPPERS_APPEND.ld+= -m elf_i386 .endif .for _glibc_path in ${_OPSYS_LIB_DIRS} . if exists(${_glibc_path}/libc.so.6) ## Use _CMD so the command only gets run when needed! _GLIBC_VERSION_CMD= if [ -x ${_glibc_path}/libc.so.6 ]; then \ ${_glibc_path}/libc.so.6 --version | \ sed -ne's/^GNU C.*version \(.*\)[,.].*$$/\1/p'; \ else \ ldd --version | \ sed -ne's/^ldd.* \(.*\)$$/\1/p'; \ fi . endif .endfor # In case we can't find glibc in any of the normal library paths # (i.e. we're on NixOS), try ldconfig. Ironically, NixOS does not # actually use ldconfig... _GLIBC_VERSION_CMD?= ldconfig --version | \ sed -ne's/ldconfig (GNU libc) \(.*\)$$/\1/p' GLIBC_VERSION= ${_GLIBC_VERSION_CMD:sh} # If this is defined pass it to the make process. .if defined(NOGCCERROR) MAKE_ENV+= NOGCCERROR=true .endif OPSYS_HAS_SENDFILE= # defined OPSYS_HAS_EVENTFD= # defined OPSYS_HAS_TIMERFD= # defined OPSYS_HAS_POSIX_SPAWN= # defined @ 1.94 log @mk: Support Arch Linux lib64 directories. Reported by zagreus on IRC. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.93 2023/11/15 14:14:09 nia Exp $ d215 1 @ 1.93 log @mk/platform: Introduce a new OPSYS_HAS_POSIX_SPAWN variable. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.92 2023/05/18 00:04:26 schmonz Exp $ d91 2 a92 2 _OPSYS_SYSTEM_RPATH= /lib:/usr/lib _OPSYS_LIB_DIRS?= /lib /usr/lib @ 1.92 log @Spaces to tabs. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.91 2022/09/27 08:46:33 jperkin Exp $ d217 1 @ 1.91 log @mk: Enable mktools on supported platforms. The default is now auto detection, which will enable mktools on platforms that have set _OPSYS_SUPPORTS_MKTOOLS. Users can still override either way via PKGSRC_USE_MKTOOLS. Please add and enable on other platforms once they have been verified. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.90 2022/05/01 08:10:11 nia Exp $ d95 1 a95 1 _OPSYS_INCLUDE_DIRS!= echo "" | cpp -v 2>&1 | grep '^[[:space:]]*/.*include$$' | tr '\n' ' ' d97 1 a97 1 _OPSYS_LIB_DIRS!= cc -print-search-dirs | awk '/^libraries:/ { $$1=""; $$2=substr($$2, 2); print $$0; }' | tr ':' '\n' @ 1.90 log @mk/Linux: nologin is in /usr/sbin on debian @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.89 2022/05/01 08:03:41 nia Exp $ d136 1 @ 1.89 log @mk: Initial support for NixOS (Linux variant) A particular challenge for pkgsrc on NixOS is that it usurps all Unix conventions and stores its system binaries and libraries in a crazy system of hashed sub-directories: $ which ls /run/current-system/sw/bin/ls $ ls -l /run/current-system/sw/bin/ls Lrwxrwxrwx 1 root root 65 Jan 1 1970 /run/current-system/sw/bin/ls -> /nix/store/xs02fpnpkq frhqqfsxx3lpj48wrapd00-coreutils-8.32/bin/ls We can make a "best effort" attempt to accomodate this by invoking the compiler to figure out where libc is. In general, it's required to adjust the Linux files to make fewer assumptions about the layout of the filesystem. However, since using a compiler and libc from NixOS results in /nix/store paths being embedded in binaries, running the NixOS "garbage collector" can result in binaries installed from pkgsrc becoming unusable. Use with care: $ readelf -a ~/pkg/bin/perl | grep nix [Requesting program interpreter: /nix/store/p5sam91qwz995pi0160rfr7dkh6pibil-glibc-2.32 -39/lib/ld-linux-aarch64.so.1] 0x000000000000001d (RUNPATH) Library runpath: [/home/nia/pkg/lib:/home/nia/pkg/li b/perl5/5.32.0/aarch64-linux/CORE:/nix/store/p5sam91qwz995pi0160rfr7dkh6pibil-glibc-2.32-39/l ib:/nix/store/vv9nz0bwv1pfl70w14k7dgz6yx7hjwxk-gcc-9.3.0-lib/lib] Apparently, the "stdenv.cc" package must be installed prior to bootstrapping pkgsrc. I worked on this patch last year for a friend who wanted to test something on pkgsrc but had no other system available. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.88 2022/02/10 21:22:44 schmonz Exp $ d31 2 @ 1.88 log @Fix GLIBC_VERSION detection on Manjaro ARM (so that devel/gettext-tools passes PLIST checks) and probably other Arch Linux too. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.87 2021/11/14 14:47:11 schmonz Exp $ d12 11 a23 2 # XXX: default from defaults/mk.conf. Verify/correct for this platform # and remove this comment. d29 7 a35 1 TYPE?= type # Shell builtin a40 1 GROUPADD?= /usr/sbin/groupadd a41 5 .if exists(/etc/ssdlinux_version) NOLOGIN?= /sbin/nologin .else NOLOGIN?= /bin/false .endif a54 1 USERADD?= /usr/sbin/useradd d91 5 a118 1 .if exists(/usr/include/netinet6) || exists(/usr/include/linux/in6.h) a119 3 .else _OPSYS_HAS_INET6= no # IPv6 is not standard .endif a195 1 GLIBC_VERSION= ${_GLIBC_VERSION_CMD:sh} d199 8 @ 1.87 log @On Linux with glibc, if libc.so.6 isn't executable, glean GLIBC_VERSION via ldd instead. Noticed when devel/gettext-tools failed PLIST check on Ubuntu/aarch64 21.10. NFCI for musl libc. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.86 2021/11/09 12:04:43 nia Exp $ d80 3 @ 1.86 log @mk: For consistency, rename PKG_HAS_ to OPSYS_HAVE_. Requested by jperkin. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.85 2021/11/09 11:05:07 nia Exp $ d177 7 a183 2 _GLIBC_VERSION_CMD= ${_glibc_path}/libc.so.6 --version | \ sed -ne's/^GNU C.*version \(.*\)[,.].*$$/\1/p' @ 1.85 log @mk: Create per-platform PKG_HAVE_EVENTFD and PKG_HAVE_TIMERFD variables. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.84 2020/12/13 16:26:12 nia Exp $ d188 2 a189 2 PKG_HAVE_EVENTFD= # defined PKG_HAVE_TIMERFD= # defined @ 1.84 log @platform/Linux: always prefer native pthread/libdl @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.83 2020/01/28 08:38:47 rillig Exp $ d187 3 @ 1.83 log @mk/platform/Linux: fix detection of GLIBC_VERSION on Debian Running "/lib/x86_64-linux-gnu/libc.so.6 --version" on Debian unstable inside WSL says: GNU C Library (Debian GLIBC 2.29-9) stable release version 2.29. In this case, there is a simple period, not a comma after the version number. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.82 2020/01/24 12:36:28 nia Exp $ d99 4 @ 1.82 log @mk/platform/Linux.mk: Use _OPSYS_LIB_DIRS to find glibc paths. This seems more correct as it handles Debian/others already. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.81 2020/01/24 12:32:21 nia Exp $ d174 1 a174 1 sed -ne's/^GNU C.*version \(.*\),.*$$/\1/p' @ 1.81 log @mk/platform/Linux.mk: Fix glibc detection on Debian. Problem identified and patch reviewed/tested by gutteridge, thanks @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.80 2019/01/24 18:40:56 tnn Exp $ d170 2 a171 5 _GLIBC_PATHS+= /lib${LIBABISUFFIX}/libc.so.6 _GLIBC_PATHS+= /lib/${MACHINE_ARCH}-linux-gnu/libc.so.6 .for _glibc_path in ${_GLIBC_PATHS} . if exists(${_glibc_path}) d173 1 a173 1 _GLIBC_VERSION_CMD= ${_glibc_path} --version | \ @ 1.80 log @Linux.mk: provide default LIBABISUFFIX for aarch64 @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.79 2019/01/09 13:19:03 wiz Exp $ d170 5 d176 1 a176 2 .if exists(/lib${LIBABISUFFIX}/libc.so.6) _GLIBC_VERSION_CMD= /lib${LIBABISUFFIX}/libc.so.6 --version | \ d179 2 a180 1 .endif @ 1.79 log @Add RELRO support for clang, based on the gcc logic. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.78 2017/11/21 19:16:47 bsiegert Exp $ d156 6 @ 1.78 log @Add /usr/local for include and libdir on ChromeOS. Third-party (i.e. non-pkgsrc) C toolchains (I am using chromebrew) install to /usr/local, as that is where you can have write access. With this, a bootstrap on ChromeOS finishes successfully. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.77 2017/10/03 13:18:00 jperkin Exp $ d134 1 a134 1 # Register support for RELRO on supported architectures (with GCC) @ 1.77 log @mk: Disable SSP checks on systems where it is provided in libc. The currently implementation of SSP checks simply look for a DT_NEEDED dependency on libssp, and doesn't yet have a way to check for it being enabled when it is done via libc. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.76 2017/08/04 08:59:20 jperkin Exp $ d86 5 @ 1.76 log @Disable fortify on Linux when optimisation is not enabled, it is not supported in that configuration and warnings are issued from the system headers. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.75 2017/06/09 17:21:53 khorben Exp $ d115 1 @ 1.75 log @Register support for RELRO on Linux (limited to x86 first) Tested on Debian GNU/Linux 8.8 (amd64). Actual support will depend on the underlying distribution though. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.74 2017/06/09 17:04:18 khorben Exp $ d122 3 a124 1 # Register support for FORTIFY (with GCC) d126 1 @ 1.74 log @Register support for SSP on Linux (limited to x86 first) Tested on Debian GNU/Linux 8.8 (amd64). Actual support will depend on the underlying distribution though. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.73 2017/06/09 16:56:26 khorben Exp $ d125 6 @ 1.73 log @Register support for FORTIFY on Linux Tested on Debian GNU/Linux 8.8 (amd64). Actual support will depend on the underlying distribution though. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.72 2017/02/01 10:00:17 sevan Exp $ d125 6 @ 1.72 log @MACHINE_ARCH is set to powerpc64le during bootstrap, adjust if statement to check for new value. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.71 2017/02/01 07:25:28 jperkin Exp $ d122 3 @ 1.71 log @Indent conditionals to improve legibility. No functional change. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.70 2017/02/01 03:00:35 sevan Exp $ d75 1 a75 1 . if !empty(MACHINE_ARCH:Mppc64le) @ 1.70 log @Add ppc64le paths from the Debian/Ubuntu multiarch hierarchy. Tested on Ubuntu for POWER8. Thanks to John Klos. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.69 2016/10/27 10:31:06 jperkin Exp $ d53 1 a53 1 .if !empty(MACHINE_ARCH:Mx86_64) d56 2 a57 2 .endif .if !empty(MACHINE_ARCH:Mi386) d60 3 a62 3 .endif .if !empty(MACHINE_ARCH:Marm*) .if exists(/etc/ld.so.conf.d/arm-linux-gnueabihf.conf) d65 1 a65 1 .else d68 3 a70 3 .endif .endif .if !empty(MACHINE_ARCH:Maarch64) d74 2 a75 2 .endif .if !empty(MACHINE_ARCH:Mppc64le) d79 1 a79 1 .endif @ 1.69 log @Add support for enabling cwrappers automatically. USE_CWRAPPERS now defaults to "auto", which will enable cwrappers if the _OPSYS_SUPPORTS_CWRAPPERS platform variable is set to "yes". Switch over to cwrappers by default for Darwin, Linux, and SunOS (except when using the sunpro compiler). @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.68 2016/09/17 05:41:37 richard Exp $ d75 5 @ 1.68 log @set LIBABISUFFIX to /aarch64-linux-gnu for arm64 simplifies _OPSYS_SYSTEM_RPATH and _OPSYS_LIB_DIRS permitting lots of stuff using LIBABISUFFIX to work now. TODO: probably similar for the armv7 platforms as the pattern '${MACHINE_ARCH}-${LOWER_OPSYS}-gnu${APPEND_ABI}' seems like it should work for both. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.67 2016/08/24 05:31:20 richard Exp $ d107 2 @ 1.67 log @Add experimental aarch64 support (amlogic s905 under ubuntu) @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.66 2016/03/17 16:02:23 jperkin Exp $ d70 4 a73 3 .if !empty(MACHINE_ARCH:Maarch64*) _OPSYS_SYSTEM_RPATH= /lib${LIBABISUFFIX}:/usr/lib${LIBABISUFFIX}:/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu @ 1.66 log @Since the MACHINE_ARCH cleanup, the bootstrap for i386-on-x86_64 Linux has been broken due to NATIVE_MACHINE_ARCH no longer being set to x86_64. Fix this by introducing HOST_MACHINE_ARCH which refers to the underlying host architecture rather than bmake's native architecture, thus differentiating between cross-compiling and multilib. This is currently only set on Linux as the only OPSYS which currently requires such a test, but can be expanded to other OPSYS as necessary. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.65 2016/03/10 16:58:19 jperkin Exp $ d70 4 @ 1.65 log @Remove _OPSYS_WHOLE_ARCHIVE_FLAG and _OPSYS_NO_WHOLE_ARCHIVE_FLAG, these variables are unused and in at least one case were completely wrong anyway. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.64 2015/11/18 22:30:12 jperkin Exp $ d123 1 a123 1 .if ${NATIVE_MACHINE_ARCH} == "x86_64" && ${MACHINE_ARCH} == "i386" @ 1.64 log @Ensure building 32-bit on 64-bit is supported when using cwrappers too. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.63 2015/07/18 15:08:43 wiedi Exp $ a98 5 # flags passed to the linker to extract all symbols from static archives. # this is GNU ld. _OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive _OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive @ 1.63 log @Detect arm-linux-gnueabihf correctly @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.62 2015/05/08 20:28:30 sevan Exp $ d130 1 @ 1.62 log @For 64bit little endian PowerPC hosts running Linux Set the ABI to 64 bit Define the suffix appended to the locations in the library search path Reviewed by bsiegert@@ @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.61 2015/04/21 17:01:56 joerg Exp $ d62 4 d69 1 @ 1.61 log @Add a new ulimit modifier for cputime. Support raising limits for package creation. There are very few things in pkgsrc that needs more than one hour per process on decently fast hardware, so setting that as (soft) limit for bulk builds avoids the infinite loops seen in some other packages. There are a few select exceptions, i.e. flightgear-data needs more than one hour for pkg_create when using xz. This flag allows selectively giving those places more time without wasting resources in the broken cases. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.60 2014/03/07 15:03:15 jperkin Exp $ d115 5 @ 1.60 log @When building 32-bit packages on x86_64 GNU ld isn't smart enough to figure out the target architecture based on the objects so we need to explicitly set it. This allows bootstrap --abi=32 to complete successfully on x86_64. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.59 2014/02/20 11:03:09 jperkin Exp $ d45 1 @ 1.59 log @Prefer the native libexecinfo implementation by default. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.58 2014/02/20 10:52:33 jperkin Exp $ d114 7 @ 1.58 log @Prefer the native libinotify implementation by default. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.57 2014/02/19 17:20:23 jperkin Exp $ d74 1 d109 3 a111 3 .if (${MACHINE_ARCH} == "x86_64") ABI?= 64 LIBABISUFFIX?= 64 @ 1.57 log @Use the _OPSYS_PREFER mechanism rather than LIBC_BUILTINS. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.56 2013/07/23 13:01:05 ryoon Exp $ d74 1 @ 1.56 log @Fix typo. libossaudio is unavailable. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.55 2013/05/17 03:40:02 dsainty Exp $ a26 1 LIBC_BUILTINS= iconv getopt sysexits gettext d70 6 @ 1.55 log @Fix a pasting botch in v1.54 that killed Linux i386 @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.54 2013/05/11 23:56:24 ryoon Exp $ d78 1 a78 1 _OPSYS_HAS_OSSAUDIO= no # libossaudio is available @ 1.54 log @On Debian/Ubuntu Linux, set system's library path as Debian's multiarch hierarchy. This values should be generated from output of some commands, but I cannot find the rule. Tested on armel and x86_64 Debian GNU/Linux environment. The values are shown in http://wiki.debian.org/Multiarch/Tuples . @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.53 2013/04/28 12:53:56 obache Exp $ d59 1 a59 2 _OPSYS_LIB_DIRS?= /lib${LIBABISUFFIX} /usr/lib${LIBABISUFFIX} /lib/i386-li nux-gnu /usr/lib/i386-linux-gnu @ 1.53 log @Introduce _OPSYS_LIB_DIRS and _OPSYS_INCLUDE_DIRS varables. list of system library and header file directories. Also add missing _OPSYS_SYSTEM_RPATH for some platforms. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.52 2012/11/19 11:34:15 ryoon Exp $ d51 16 d69 1 @ 1.52 log @Make MOTIF_TYPE_DEFAULT as motif (LGPL Motif) instead of openmotif or lesstif. No objection on tech-pkg@@. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.51 2012/04/23 08:14:36 sbd Exp $ d52 2 @ 1.51 log @The path to libc.so.6 needs to include ${LIBABISUFFIX}. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.50 2012/04/09 04:19:24 sbd Exp $ d28 1 a28 1 MOTIF_TYPE_DEFAULT?= openmotif # default 2.0 compatible libs type @ 1.50 log @Oops I had the sense inverted for NOGCCERROR. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.49 2012/03/19 12:34:17 joerg Exp $ d90 2 a91 2 .if exists(/lib/libc.so.6) _GLIBC_VERSION_CMD= /lib/libc.so.6 --version | \ @ 1.49 log @Drop imake-check logic from X11 components' builtin.mk. Always use xorg-cf-files and imake from pkgsrc, replacing xpkgwedge. Always install man pages, not cat pages when using imake. Unify the various imake PLIST variables in preparation for dropping. Adjust xbattbar for the new expectations. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.48 2012/03/05 07:53:42 sbd Exp $ d97 1 a97 1 .if !defined(NOGCCERROR) @ 1.49.2.1 log @Pullup ticket #3725 - requested by sbd mk/platform/Linux.mk: bug fix Revisions pulled up: - mk/platform/Linux.mk 1.50 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: sbd Date: Mon Apr 9 04:19:25 UTC 2012 Modified Files: pkgsrc/mk/platform: Linux.mk Log Message: Oops I had the sense inverted for NOGCCERROR. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 pkgsrc/mk/platform/Linux.mk @ text @d1 1 a1 1 # $NetBSD$ d97 1 a97 1 .if defined(NOGCCERROR) @ 1.48 log @If NOGCCERROR is defined pass it to the make process. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.47 2012/01/22 08:40:11 sbd Exp $ a47 18 # imake installs manpages in weird places # these values from /usr/X11R6/lib/X11/config/linux.cf IMAKE_MAN_SOURCE_PATH= man/man IMAKE_MAN_SUFFIX= 1x IMAKE_LIBMAN_SUFFIX= 3x IMAKE_KERNMAN_SUFFIX= 4 IMAKE_FILEMAN_SUFFIX= 5x IMAKE_GAMEMAN_SUFFIX= 6 IMAKE_MISCMAN_SUFFIX= 7 IMAKE_MAN_DIR= ${IMAKE_MAN_SOURCE_PATH}1 IMAKE_LIBMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}3 IMAKE_KERNMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}4 IMAKE_FILEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}5 IMAKE_GAMEMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}6 IMAKE_MISCMAN_DIR= ${IMAKE_MAN_SOURCE_PATH}7 IMAKE_MANNEWSUFFIX= ${IMAKE_MAN_SUFFIX} IMAKE_MANINSTALL?= maninstall catinstall @ 1.47 log @Remove GNU_CONFIGURE_LIBDIR setting on x86_64-linux systems, setting this for all packages that use GNU_CONFIGURE causes to many packages to break. Packages that need the libdir passed to them will need to be handled one at a time. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.46 2012/01/17 21:10:24 sbd Exp $ d113 5 @ 1.46 log @Add the GNU_CONFIGURE_LIBDIR variable, if defined it will be passed to gnu configure scripts as the value of --libdir. On Linux x86_64 set GNU_CONFIGURE_LIBDIR to ${GNU_CONFIGURE_PREFIX}/lib, this will stop package trying to install into ${PREFIX}/lib64. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.45 2011/10/31 23:22:59 sbd Exp $ a102 1 GNU_CONFIGURE_LIBDIR?= ${GNU_CONFIGURE_PREFIX}/lib @ 1.45 log @Add LIBC_BUILTINS platform definition to Linux. Designed to be used in mk.conf like so: PREFER_PKGSRC= yes PREFER_NATIVE= ${LIBC_BUILTINS} @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.44 2011/10/15 03:15:37 sbd Exp $ d103 1 @ 1.44 log @Change the X11_TYPE conditional to work with the switch in the default X11_TYPE to modular. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.43 2011/08/22 15:17:53 cheusov Exp $ d27 1 @ 1.43 log @ Pass a maximum command line length to "configure" script on Linux. PR 45274 by Emmanuel Kasper @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.42 2011/05/11 12:46:20 obache Exp $ d6 1 a6 1 .if !defined(X11_TYPE) || ${X11_TYPE} == "native" @ 1.42 log @NOLOGIN=/sbin/nologin for SSD/Linux. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.41 2011/03/20 09:00:08 obache Exp $ d97 3 a99 2 # FIXME: Adjust to work on this system and enable the lines below. #_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax @ 1.41 log @/usr/bin/su for SSD/Linux. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.40 2010/07/08 04:57:36 dholland Exp $ d28 2 a29 2 .if exists(/usr/bin/false) NOLOGIN?= /usr/bin/false @ 1.40 log @Begin cleanup of setgid game infrastructure. * Introduce USE_GAMESGROUP, which causes the games user and group to be made available. * Retain SETGIDGAME as an alias for USE_GAMESGROUP. Describe it as deprecated. * Always define GAMES_USER, GAMES_GROUP, GAMEMODE, GAMEDIRMODE, and GAMEDATAMODE, regardless of whether USE_GAMESGROUP is turned on or not. * Define these variables in defaults/mk.conf instead of separately in every platform/*.mk file. The definitions used to be the same for each of these platforms anyway, except for some where they were randomly missing or commented out for no clear reason, leading to broken game packages. * Handle all these variables properly when unprivileged. * Update the comments/documentation for these variables. * Describe GAMEOWN and GAMEGRP as deprecated. These need to be retained as aliases for GAMES_USER and GAMES_GROUP respectively for supporting packages that use bsd.*.mk but should otherwise not be used. * Add GAMEDATA_PERMS and GAMEDIR_PERMS using GAMEDATAMODE and GAMEDIRMODE respectively. * Fix a bug I noticed that was improperly mixing the "games" group and "games" user. Things this does *not* do: - get rid of GAMES_USER, for which there should ultimately be no need. - move the declaration/documentation/default value of USE_GAMESGROUP to a suitable place. (It is currently where SETGIDGAME was, which is suboptimal.) - touch any of the games, all of which need updating with at least s/SETGIDGAME/USE_GAMESGROUP/ and probably more. - update the guide to explain how to handle games properly. Also, it would be nice if using GAMES_GROUP without setting USE_GAMESGROUP=yes caused an error but as far as I know there isn't any particularly good way to arrange this right now. Note that these changes may alter the build/install behavior of broken game packages, e.g. some may silently become setgid when they weren't before or things like that. If you run into any of this file a PR. While one might arguably bump the PKGREVISION of all games or other packages using any of these variables as a precaution, that seems like a bad idea. Instead, I think I will be bumping each game once it itself has been fixed up to do everything the right way. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.39 2010/05/20 07:57:23 sbd Exp $ d15 3 d19 1 @ 1.39 log @On Linux systems record the glibc version in the build information. OKed by wiz@@ @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.38 2010/05/16 06:59:26 sbd Exp $ a95 14 # If games are to be installed setgid, then SETGIDGAME is set to 'yes' # (it defaults to 'no' as per defaults/mk.conf). # Set the group and mode to meaningful values in that case (defaults to # BINOWN, BINGRP and BINMODE as per defaults/mk.conf). # FIXME: Adjust to work on this system and enable the lines below. #.if !(empty(SETGIDGAME:M[yY][eE][sS])) #GAMES_USER= games #GAMES_GROUP= games #GAMEOWN= ${GAMES_USER} #GAMEGRP= ${GAMES_GROUP} #GAMEMODE= 2555 #GAMEDIRMODE= 0775 #.endif @ 1.38 log @Use mk/check/check-shlibs-elf.awk for the run-time search-path check on linux. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.37 2010/03/18 22:46:01 sbd Exp $ d114 7 @ 1.37 log @imake should only ever use gmake if ${X11_TYPE}==native. Pointed out by joerg@@ Fixes PR 42274 OK wiz@@ @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.36 2010/02/13 08:29:12 obache Exp $ d64 2 d89 1 a89 1 _OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk @ 1.36 log @for SSD/Linux, /usr/bin/false, not /bin/false. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.35 2010/01/16 02:16:35 obache Exp $ d8 1 a59 1 IMAKE_TOOLS= gmake # extra tools required when we use imake @ 1.35 log @Add support of SSD/Linux. * ROOT_GROUP=wheel, fixes PR#42073. * LOWER_VENDOR=ssd * adjust paths for some tools @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.34 2009/07/26 05:32:43 agc Exp $ d23 3 d27 1 @ 1.34 log @Get rid of an abstraction violation which has been in the tree since March 2008. Not vital, but the previous way does not scale well/at all. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.33 2008/03/04 06:45:34 jlam Exp $ d26 3 d30 1 @ 1.33 log @+ Conditionally add GAMES_USER and GAMES_GROUP to the platform *.mk files. These variables are currently usable if ${SETGIDGAME} == yes. These variables should be used when describing ownership of files and directories to the pkginstall framework, e.g. SPECIAL_PERMS= bin/foogame ${GAMES_USER} ${GAMES_GROUP} 2555 + Rename SETGID_GAME_PERMS to SETGID_GAMES_PERMS because the default group name is "games". + Define SETGID_GAMES_PERMS in terms of GAMES_USER and GAMES_GROUP so that these names are protected from the normal flow of unprivileged.mk. This fixes the +INSTALL scripts in "user-destdir" packages to correctly refer to the games:games instead of the user:group of the user that built the packages. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.32 2008/01/12 22:44:10 joerg Exp $ d79 2 @ 1.32 log @Only force gmake for imake on Linux, if using native implementation. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.31 2007/10/19 13:41:35 rillig Exp $ d90 4 a93 2 #GAMEOWN= games #GAMEGRP= games @ 1.31 log @Reverted the last changes, which factored out some definitions that are usually the same on the supported platforms. The reason for having duplicate code in these files is to make it easier to port pkgsrc to a new platform: You just have to copy one of the existing platform files and edit the values in it. With some values factored out, you would have to look at one more file. Pointed out by agc@@. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.29 2007/07/29 05:19:44 jlam Exp $ d6 1 d8 1 @ 1.30 log @Factored out the parts that are common between all the supported platforms, mainly because it wouldn't have made sense to document the variables in one of those files, but they need to be documented somewhere. Added the file defaults.mk, which now serves as the reference document which provides useful default values and _explains_ the variables. @ text @d6 1 a6 5 # imake on Linux generates Makefiles that can only be understood by # GNU make. IMAKE_MAKE?= ${GMAKE} d8 1 d15 2 d22 1 d27 3 a97 2 .include "${.PARSEDIR}/defaults.mk" @ 1.29 log @* Add new emulator framework in pkgsrc/mk/emulator that handles all binary-only packages that require binary "emulation" on the native operating system. Please see pkgsrc/mk/emulator/README for more details. * Teach the plist framework to automatically use any existing PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition. * Convert all of the binary-only packages in pkgsrc to use the emulator framework. Most of them have been tested to install and deinstall correctly. This involves the following cleanup actions: * Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM} more consistently. * Simplify packages by using default INSTALL and DEINSTALL scripts instead of custom INSTALL/DEINSTALL code. * Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc. Packages only need to state exactly which emulations they support, and the framework handles any i386-on-x86_64 or sparc-on-sparc64 uses. * Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will automatically detect when the package is installing on Linux. Specific changes to packages include: * Bump the PKGREVISIONs for all of the suse100* and suse91* packages due to changes in the +INSTALL/+DEINSTALL scripts used in all of the packages. * Remove pkgsrc/emulators/suse_linux, which is unused by any packages. * cad/lc -- remove custom code to create the distinfo file for all supported platforms; just use "emul-fetch" and "emul-distinfo" instead. * lang/Cg-compiler -- install the shared libraries under ${EMULDIR} instead of ${PREFIX}/lib so that compiled programs will find the shared libraries. * mail/thunderbird-bin-nightly -- update to latest binary distributions for supported platforms. * multimedia/ns-flash -- update Linux version to 9.0.48 as the older version is no longer available for interactive fetch. * security/uvscan -- set LD_LIBRARY_PATH explicitly so that it's not necessary to install library symlinks into ${EMULDIR}/usr/local/lib. * www/firefox-bin-flash -- update Linux version to 9.0.48 as the older version is no longer available for interactive fetch. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.28 2007/07/02 14:03:40 joerg Exp $ d6 5 a10 1 IMAKE_MAKE?= ${GMAKE} # program which gets invoked by imake a11 1 PKGLOCALEDIR?= share a17 2 CPP_PRECOMP_FLAGS?= # unset DEF_UMASK?= 022 a22 1 PKG_TOOLS_BIN?= ${LOCALBASE}/sbin a26 3 ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d` ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s` ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m` d95 2 @ 1.28 log @Remove RSH definition. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.27 2006/11/18 07:48:06 rillig Exp $ d49 4 a53 1 IMAKE_TOOLS= gmake # extra tools required when we use imake @ 1.27 log @Added an empty line to make "make help topic=ABI" work better. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.26 2006/10/06 14:28:46 joerg Exp $ a11 1 RSH?= /usr/bin/rsh @ 1.26 log @Always use LOCALBASE setting from mk/defaults/mk.conf. Setting it with ?= in the platform files is a nop anyway. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.25 2006/07/20 20:02:23 jlam Exp $ d91 1 @ 1.25 log @Remove USE_GNU_GETTEXT from pkgsrc. Packages generally only needed it for plurals support, but that is already handled correctly (FSVO "correctly") by the pkgsrc/mk/tools/msgfmt.sh script. Also remove _USE_GNU_GETTEXT definitions from pkgsrc/mk/platform/*.mk files as that value has been unused by pkgsrc for quite some time (going back several branches). @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.24 2006/04/12 21:01:15 joerg Exp $ a74 2 LOCALBASE?= ${DESTDIR}/usr/pkg @ 1.24 log @Add INSTALL_GAME_DIR to complement INSTALL_GAME_DATA. The directories are group-writeable by the games user on those platforms, where GAMEMODE includes setgid. It defaults to PKGDIRMODE otherwise. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.23 2006/03/18 21:40:45 jlam Exp $ a64 1 _USE_GNU_GETTEXT= no # Don't use GNU gettext @ 1.23 log @Remove leftover code sections guarded by _USE_PLIST_MODULE which was mainlined long ago. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.22 2006/01/12 23:43:57 jlam Exp $ d92 1 @ 1.22 log @Initial commit of a new module that encapsulates all of the code for manipulating PLISTs. This module is not used by default pending more widespread testing -- currently the variable _USE_PLIST_MODULE must be defined in /etc/mk.conf to enable its use. The main features of the new PLIST module are: (1) Splits out the PLIST-handling code from bsd.pkg.mk into a separate "plist" module. (2) Splits out giant, multi-line awk scripts stored in make variables into separate awk scripts that may be joined together to post-process PLISTs. Each of these awk scripts consolidates the processing for one set of files, e.g., man pages, info pages, etc., and is more easily commented than a make variable. (3) Splits out the print-PLIST code from the regular PLIST code since they have no common pieces (print-plist.mk vs. plist.mk). (4) Completely re-implements the shared-library handling to be more efficient. Along the way, this also fixes a problem for Mac OS X users where the PLISTs incorrectly contained absolute paths. (5) Completely re-implements the info-file handling so that we can migrate from INFO_FILES definitions to just adding info/foo.info entries in the static PLISTs. (6) Adds commented-out support for automatically compressed or decompressed info page entries based on the value of MANZ. These changes will be activated after texinfo.mk has been replaced by something that is built using the more modern primitives now available in pkgsrc. (7) Move the file compression logic into a separate script "doc-compress" that compresses or decompresses files while minding symlinks. This script is now called by bsd.pkg.mk to do the "autmoatic man page handling". In the future, it will also handle the "automatic info page handling" and possible others. In general, the idea is to move stuff out of the Makefiles and into separate files where we don't need to worry about quoting rules and where each file can have a separate history of commits. This simplifies the makefile logic (especially in terms of readability) and also simplifies maintenance of the code. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.21 2006/01/10 16:58:04 christos Exp $ a48 1 .if defined(_USE_PLIST_MODULE) a49 1 .endif a51 3 .if !defined(_USE_PLIST_MODULE) _DO_SHLIB_CHECKS= no # on installation, fixup PLIST for shared libs .endif a64 3 .if !defined(_USE_PLIST_MODULE) _PREFORMATTED_MAN_DIR= cat # directory where catman pages are .endif @ 1.21 log @Also set ABI like SGI does; from Benjamin Shi. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.20 2006/01/06 22:47:24 christos Exp $ d49 3 d54 1 d56 1 d70 1 d72 1 @ 1.20 log @set the LIBABISUFFIX to 64 for amd64... @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.19 2005/12/04 01:44:30 joerg Exp $ d95 1 @ 1.19 log @Add IMAKE_GAMEMAN_SUFFIX and IMAKE_GAMEMAN_DIR to allow PLISTs to pick up the correct locations. XXX Default values are guessed, x11/xsnow can be used for testing @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.18 2005/08/02 03:38:09 reed Exp $ d94 3 @ 1.18 log @Fix typo. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.17 2005/08/02 00:23:31 reed Exp $ d40 1 d46 1 @ 1.17 log @Replace references of pkgsrc/mk/bsd.pkg.defaults.mk to pkgsrc/mk/defaults/mk.conf. This is from PR 30741 from anonymous AT example.net. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.16 2005/06/14 07:12:23 jlam Exp $ d10 1 a10 1 # XXX: default from defaults/mk.conf. Verify/corerct for this platform @ 1.16 log @Make IMAKE_TOOLS into a publicly-readable variable so that it can be used by pkgtools/xpkgwedge. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.15 2005/06/01 18:14:23 jlam Exp $ d10 1 a10 1 # XXX: default from bsd.pkg.defaults.mk. Verify/corerct for this platform d83 1 a83 1 # (it defaults to 'no' as per bsd.pkg.defaults.mk). d85 1 a85 1 # BINOWN, BINGRP and BINMODE as per bsd.pkg.defaults.mk). @ 1.15 log @Turn IMAKE_MAKE into a public variable that may be set via /etc/mk.conf. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.14 2005/05/22 19:11:15 jlam Exp $ d48 1 a48 1 _IMAKE_TOOLS= gmake # extra tools required when we use imake @ 1.14 log @Remove the old tools framework and references to _USE_NEW_TOOLS. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.13 2005/05/03 18:30:12 jlam Exp $ d6 1 d48 1 a49 2 _IMAKE_TOOLS= gmake # extra tools required when we use imake _IMAKE_MAKE= ${GMAKE} # program which gets invoked by imake @ 1.13 log @First pass at converting pkgsrc to use the new tools framework (still not on by default). Separate out the variable defintions that are now made by the new tools framework. Some of the trickier platforms (AIX, IRIX, Interix, OSF1) still need more work. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.12 2005/05/03 15:10:59 jlam Exp $ a14 122 .if empty(_USE_NEW_TOOLS:M[yY][eE][sS]) AWK?= /usr/bin/awk .if exists(/bin/basename) BASENAME?= /bin/basename .elif exists(/usr/bin/basename) BASENAME?= /usr/bin/basename .endif CAT?= /bin/cat CHMOD?= /bin/chmod CHOWN?= /bin/chown CHGRP?= /bin/chgrp CMP?= cmp CP?= /bin/cp .if exists(/bin/cut) CUT?= /bin/cut .else CUT?= /usr/bin/cut .endif DATE?= /bin/date DIRNAME?= /usr/bin/dirname ECHO?= echo # Shell builtin .if exists(/bin/egrep) EGREP?= /bin/egrep .elif exists(/usr/bin/egrep) EGREP?= /usr/bin/egrep .endif EXPR?= /usr/bin/expr FALSE?= false # Shell builtin .if exists(/bin/fgrep) FGREP?= /bin/fgrep .elif exists(/usr/bin/fgrep) FGREP?= /usr/bin/fgrep .endif FILE_CMD?= /usr/bin/file FIND?= /usr/bin/find .if exists(/usr/bin/make) GMAKE?= /usr/bin/make _TOOLS_OPSYS_HAS_GNU.make+= ${MACHINE_PLATFORM} .else GMAKE?= ${LOCALBASE}/bin/gmake .endif .if exists(/bin/grep) GREP?= /bin/grep .elif exists(/usr/bin/grep) GREP?= /usr/bin/grep .endif GTAR?= /bin/tar .if exists(/usr/bin/gunzip) GUNZIP_CMD?= /usr/bin/gunzip -f .else GUNZIP_CMD?= /bin/gunzip -f .endif .if exists(/usr/bin/gzip) GZIP_CMD?= /usr/bin/gzip -nf ${GZIP} .else GZIP_CMD?= /bin/gzip -nf ${GZIP} .endif GZCAT?= /bin/zcat .if exists(/bin/head) HEAD?= /bin/head .else HEAD?= /usr/bin/head .endif HOSTNAME_CMD?= /bin/hostname .if exists(/bin/id) ID?= /bin/id .else ID?= /usr/bin/id .endif IMAKE?= ${X11BASE}/bin/imake ${IMAKEOPTS} LDCONFIG?= /sbin/ldconfig LN?= /bin/ln LS?= /bin/ls M4?= /usr/bin/m4 .if exists(/bin/mail) MAIL_CMD?= /bin/mail # RH, Mandrake .else MAIL_CMD?= /usr/bin/mail # Debian, Slackware, SuSE .endif MKDIR?= /bin/mkdir -p MTREE?= ${LOCALBASE}/sbin/mtree MV?= /bin/mv .if exists(/bin/nice) NICE?= /bin/nice .else NICE?= /usr/bin/nice .endif PATCH?= /usr/bin/patch PAX?= ${LOCALBASE}/bin/pax PERL5?= ${LOCALBASE}/bin/perl PWD_CMD?= /bin/pwd # needs to print physical path RM?= /bin/rm RMDIR?= /bin/rmdir .if exists(/bin/sed) SED?= /bin/sed .elif exists(/usr/bin/sed) SED?= /usr/bin/sed .endif SETENV?= /usr/bin/env SH?= /bin/sh SHLOCK= ${LOCALBASE}/bin/shlock .if exists(/bin/sort) SORT?= /bin/sort .else SORT?= /usr/bin/sort .endif TAIL?= /usr/bin/tail TAR?= ${LOCALBASE}/bin/tar TEE?= /usr/bin/tee TEST?= test # Shell builtin .if exists(/bin/touch) TOUCH?= /bin/touch .else TOUCH?= /usr/bin/touch .endif TR?= /usr/bin/tr TRUE?= true # Shell builtin TSORT?= /usr/bin/tsort WC?= /usr/bin/wc XARGS?= /usr/bin/xargs -r .endif @ 1.12 log @Back out part of a change from revision 1.756 of bsd.pkg.mk. It was a mistake to include "GZIP" as an ${OPSYS}-specific variable as there is nothing ${OPSYS}-specific there to tune. Define GZIP in defaults/mk.conf instead, and remove the definition from each of the existing platform/${OPSYS}.mk files. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.11 2005/05/02 21:10:02 jlam Exp $ d5 11 a35 1 ECHO_N?= ${ECHO} -n a84 1 IMAKEOPTS+= -DBuildHtmlManPages=NO a104 2 PKGLOCALEDIR?= share PS?= /bin/ps a107 3 # XXX: default from bsd.pkg.defaults.mk. Verify/corerct for this platform # and remove this comment. RSH?= /usr/bin/rsh a120 1 SU?= /bin/su a132 1 TYPE?= type # Shell builtin d135 1 @ 1.11 log @* Push the imake- and xmkmf-handling into the new tools framework. * Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in bsd.pkg.mk to check for whether we need to depend on gmake or not. Instead, we now note in Linux.mk that packages that need imake will also need to use gmake by setting _IMAKE_TOOLS+=gmake. * Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where it's closer to related code. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.10 2005/03/18 18:16:35 tv Exp $ a62 1 GZIP?= -9 @ 1.10 log @Fix a gleaming illustration of why using YES/NO variables everywhere possible, just for the sake of doing so, is not a good thing to do: The platform files define _STRIPFLAG_* to determine whether to strip things. But since this is included in bsd.prefs.mk, ".if ..." checks cannot take things set in the Makefile into account. So convert INSTALL_UNSTRIPPED=YES to a defined/undefined variable check in bsd.pkg.mk, and use the :D:U idiom in the _STRIPFLAG_* variables. This should fix PR pkg/28772 and PR pkg/29031. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.9 2005/02/17 20:03:26 reed Exp $ d168 1 @ 1.9 log @If /bin/id exists, then use it for ID else use /usr/bin/id. Mandrake Linux 10.1 as used by A L Meyers has /bin/id. This should fix his PR #pkg/29430 and #29431. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.8 2005/01/28 21:05:59 jlam Exp $ d191 2 a192 4 .if (!defined(INSTALL_UNSTRIPPED) || empty(INSTALL_UNSTRIPPED:M[yY][eE][sS])) && !defined(DEBUG_FLAGS) _STRIPFLAG_CC?= -s # cc(1) option to strip _STRIPFLAG_INSTALL?= -s # install(1) option to strip .endif @ 1.8 log @Don't make pkgsrc depend on dc(1) to be present in the system. Since we already use awk so pervasively in pkgsrc, simply use awk in place of dc for simple computations. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.7 2005/01/25 18:15:58 tv Exp $ d70 3 d74 1 @ 1.7 log @Relax need to put GNU_CONFIGURE before inclusion of bsd.prefs.mk: Convert _OPSYS_MAX_CMDLEN to a plain _OPSYS_MAX_CMDLEN_CMD variable, which is not evaluated by a shell until CONFIGURE_ENV is expanded (and only then if USE_LIBTOOL+GNU_CONFIGURE are both set). @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.6 2004/12/29 23:19:43 minskim Exp $ a22 1 DC?= /usr/bin/dc @ 1.6 log @Use GNU make on Linux when USE_IMAKE=yes, because Makefile generated by imake on Linux requires GNU make. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.5 2004/11/16 18:04:00 tv Exp $ d198 1 a198 3 #.if defined(GNU_CONFIGURE) && defined(USE_LIBTOOL) #_OPSYS_MAX_CMDLEN!= /sbin/sysctl -n kern.argmax #.endif @ 1.5 log @Revert previous (re-add common CPP_PRECOMP_FLAGS). For consistency, also move usage of _USER_DEPENDS and _OPSYS_MAX_CMDLEN to bsd.pkg.mk. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.3 2004/11/15 14:48:18 tv Exp $ d165 1 a165 1 _IMAKE_MAKE= ${MAKE} # program which gets invoked by imake @ 1.5.2.1 log @sync with HEAD @ text @d1 1 a1 1 # $NetBSD$ d165 1 a165 1 _IMAKE_MAKE= ${GMAKE} # program which gets invoked by imake @ 1.5.2.2 log @sync with HEAD @ text @d23 1 d198 3 a200 1 #_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax @ 1.5.2.3 log @sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.5.2.2 2005/02/11 15:27:57 tv Exp $ a69 3 .if exists(/bin/id) ID?= /bin/id .else a70 1 .endif @ 1.5.2.4 log @sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.5.2.3 2005/02/25 14:46:51 tv Exp $ d191 4 a194 2 _STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip _STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip @ 1.5.2.5 log @sync [all but bsd.pkg.mk] with HEAD @ text @d1 1 a1 1 # $NetBSD$ a4 11 ECHO_N?= ${ECHO} -n IMAKEOPTS+= -DBuildHtmlManPages=NO PKGLOCALEDIR?= share PS?= /bin/ps # XXX: default from bsd.pkg.defaults.mk. Verify/corerct for this platform # and remove this comment. RSH?= /usr/bin/rsh SU?= /bin/su TYPE?= type # Shell builtin .if empty(_USE_NEW_TOOLS:M[yY][eE][sS]) d25 1 d63 1 d76 1 d97 2 d102 3 d118 1 d131 1 a133 1 .endif a167 1 _IMAKE_TOOLS= gmake # extra tools required when we use imake @ 1.5.2.6 log @EOL the tv-derecurse branch; it has become too outdated. The last live revision can be fetched at the tv-derecurse-eol tag. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.5.2.5 2005/05/17 18:29:46 tv Exp $ @ 1.4 log @CPP_PRECOMP_FLAGS is a Darwinism only. Move its frobbing of CPPFLAGS to platform/Darwin.mk (simplification). @ text @d132 1 a199 1 #CONFIGURE_ENV+= lt_cv_sys_max_cmd_len=${_OPSYS_MAX_CMDLEN} @ 1.3 log @Set some _OPSYS_SHLIB_TYPE to precisely 'ELF' on platforms where a.out is not being used by pkgsrc at all. This saves some build time in show-shlib-type. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.2 2004/10/13 15:31:31 tv Exp $ a131 1 CPP_PRECOMP_FLAGS?= # unset @ 1.2 log @Make strip/no-strip choice more consistent: Move check for INSTALL_UNSTRIPPED to the platform/*.mk files, alongside existing check for DEBUG_FLAGS. @ text @d1 1 a1 1 # $NetBSD: Linux.mk,v 1.1 2004/10/06 20:51:47 jlam Exp $ d176 1 a176 1 _OPSYS_SHLIB_TYPE= ELF/a.out # shared lib type @ 1.1 log @Reorganize some of the files under pkgsrc/mk: (1) defs.${OPSYS}.mk --> platform/${OPSYS}.mk. The "platform" subdirectory is where all of the ${OPSYS}-specific infrastructure logic should reside. (2) bsd.pkg.defaults.mk --> defaults/mk.conf bsd.pkg.obsolete.mk --> defaults/obsolete.mk Renaming bsd.pkg.defaults.mk to defaults/mk.conf is to mimic the way that NetBSD has /etc/rc.conf as well as /etc/defaults/rc.conf, where the latter is a full list of user-settable variables, and the two files share the same name to reinforce the fact /etc/defaults/rc.conf can be directly copied in place as /etc/rc.conf. This is the same relationship shared by defaults/mk.conf and /etc/mk.conf. @ text @d1 1 a1 1 # $NetBSD: defs.Linux.mk,v 1.76 2004/09/13 12:09:22 martti Exp $ d188 1 a188 1 .if !defined(DEBUG_FLAGS) @