From fb36a025541d0b323a396c1c1ecdea02f2902548 Mon Sep 17 00:00:00 2001 From: ryoon Date: Mon, 15 Mar 2021 16:21:02 +0000 Subject: mk: Add preliminary support for MidnightBSD It is almost as same as FreeBSD. --- mk/platform/MidnightBSD.mk | 87 +++++++++++++++++++++++++++++++++++ mk/tools/tools.MidnightBSD.mk | 103 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 190 insertions(+) create mode 100644 mk/platform/MidnightBSD.mk create mode 100644 mk/tools/tools.MidnightBSD.mk diff --git a/mk/platform/MidnightBSD.mk b/mk/platform/MidnightBSD.mk new file mode 100644 index 00000000000..7e63b9f15f4 --- /dev/null +++ b/mk/platform/MidnightBSD.mk @@ -0,0 +1,87 @@ +# $NetBSD: MidnightBSD.mk,v 1.1 2021/03/15 16:21:02 ryoon Exp $ +# +# Variable definitions for the MidnightBSD operating system. + +BRANDELF?= /usr/bin/brandelf # used by linux compat layer +ECHO_N?= ${ECHO} -n +IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake +IMAKEOPTS+= -DBuildHtmlManPages=NO +PKGLOCALEDIR?= share +PS?= /bin/ps +PW?= /usr/sbin/pw +SU?= /usr/bin/su +TYPE?= type # Shell builtin + +CPP_PRECOMP_FLAGS?= # unset +DEF_UMASK?= 0022 +.if ${OBJECT_FMT} == "ELF" +EXPORT_SYMBOLS_LDFLAGS?=-Wl,-E # add symbols to the dynamic symbol table +.else +EXPORT_SYMBOLS_LDFLAGS?=-Wl,--export-dynamic +.endif +MOTIF_TYPE_DEFAULT?= motif # default 2.0 compatible libs type +NOLOGIN?= /sbin/nologin +PKG_TOOLS_BIN?= ${LOCALBASE}/sbin +ROOT_CMD?= ${SU} - root -c +ROOT_USER?= root +ROOT_GROUP?= wheel +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.freebsd= # empty +_OPSYS_EMULDIR.linux= /compat/linux + +_OPSYS_SYSTEM_RPATH?= /lib:/usr/lib # STANDARD_LIBRARY_PATH (from rtld.h) +_OPSYS_LIB_DIRS?= /lib /usr/lib +_OPSYS_INCLUDE_DIRS?= /usr/include + +.if exists(/usr/include/netinet6) +_OPSYS_HAS_INET6= yes # IPv6 is standard +.else +_OPSYS_HAS_INET6= no # IPv6 is not standard +.endif +_OPSYS_HAS_JAVA= no # Java is not standard +_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages +_OPSYS_HAS_OSSAUDIO= yes # libossaudio is available +_OPSYS_PERL_REQD= # no base version of perl required +_OPSYS_PTHREAD_AUTO= no # -lpthread needed for pthreads +_OPSYS_SHLIB_TYPE= ${_OPSYS_SHLIB_TYPE_cmd:sh} # shared library type +_OPSYS_SHLIB_TYPE_cmd= \ + output=`/usr/bin/file /sbin/sysctl`; \ + case $$output in \ + *ELF*dynamically*) echo ELF ;; \ + *shared*library*) echo a.out ;; \ + *dynamically*) echo a.out ;; \ + *) echo ELF ;; \ + esac +_PATCH_CAN_BACKUP= yes # native patch(1) can make backups +_PATCH_BACKUP_ARG?= -V simple -b # 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 + +DEFAULT_SERIAL_DEVICE?= /dev/cuaa0 +SERIAL_DEVICES?= /dev/cuaa0 + +# check for kqueue(2) support +.if exists(/usr/include/sys/event.h) +PKG_HAVE_KQUEUE= # defined +.endif + +# Register support for SSP on x86 architectures +.if (${MACHINE_ARCH} == "i386") || \ + (${MACHINE_ARCH} == "x86_64") +_OPSYS_SUPPORTS_SSP= yes +.endif + +_OPSYS_SUPPORTS_CTF= yes # Compact Type Format conversion. +_OPSYS_SUPPORTS_CWRAPPERS= 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. +_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax diff --git a/mk/tools/tools.MidnightBSD.mk b/mk/tools/tools.MidnightBSD.mk new file mode 100644 index 00000000000..9d3e7434c3a --- /dev/null +++ b/mk/tools/tools.MidnightBSD.mk @@ -0,0 +1,103 @@ +# $NetBSD: tools.MidnightBSD.mk,v 1.1 2021/03/15 16:21:02 ryoon Exp $ +# +# System-supplied tools for the MidnightBSD operating system. + +TOOLS_PLATFORM.[?= [ # shell builtin +TOOLS_PLATFORM.awk?= /usr/bin/awk +TOOLS_PLATFORM.basename?= /usr/bin/basename +TOOLS_PLATFORM.bsdtar?= /usr/bin/tar +TOOLS_PLATFORM.byacc?= /usr/bin/yacc +TOOLS_PLATFORM.bzcat?= /usr/bin/bzcat +TOOLS_PLATFORM.bzip2?= /usr/bin/bzip2 +TOOLS_PLATFORM.cat?= /bin/cat +TOOLS_PLATFORM.chgrp?= /usr/bin/chgrp +TOOLS_PLATFORM.chmod?= /bin/chmod +TOOLS_PLATFORM.chown?= /usr/sbin/chown +TOOLS_PLATFORM.cmp?= /usr/bin/cmp +TOOLS_PLATFORM.cp?= /bin/cp +TOOLS_PLATFORM.csh?= /bin/csh +TOOLS_PLATFORM.ctfconvert?= /usr/bin/ctfconvert +TOOLS_PLATFORM.cut?= /usr/bin/cut +TOOLS_PLATFORM.date?= /bin/date +TOOLS_PLATFORM.diff?= /usr/bin/diff +TOOLS_PLATFORM.diff3?= /usr/bin/diff3 +TOOLS_PLATFORM.dirname?= /usr/bin/dirname +TOOLS_PLATFORM.echo?= echo # shell builtin +TOOLS_PLATFORM.egrep?= /usr/bin/egrep +TOOLS_PLATFORM.env?= /usr/bin/env +TOOLS_PLATFORM.expr?= /bin/expr +TOOLS_PLATFORM.false?= false # shell builtin +TOOLS_PLATFORM.fetch?= /usr/bin/fetch +TOOLS_PLATFORM.fgrep?= /usr/bin/fgrep +TOOLS_PLATFORM.file?= /usr/bin/file +TOOLS_PLATFORM.find?= /usr/bin/find +TOOLS_PLATFORM.flex?= /usr/bin/lex +TOOLS_PLATFORM.gegrep?= /usr/bin/egrep +TOOLS_PLATFORM.gfgrep?= /usr/bin/fgrep +TOOLS_PLATFORM.ggrep?= /usr/bin/grep +TOOLS_PLATFORM.grep?= /usr/bin/grep +.if exists(/usr/bin/groff) +TOOLS_PLATFORM.groff?= /usr/bin/groff +.endif +TOOLS_PLATFORM.gstrip?= /usr/bin/strip +TOOLS_PLATFORM.gunzip?= /usr/bin/gunzip -f +TOOLS_PLATFORM.gzcat?= /usr/bin/gzcat +TOOLS_PLATFORM.gzip?= /usr/bin/gzip -nf ${GZIP} +TOOLS_PLATFORM.head?= /usr/bin/head +TOOLS_PLATFORM.hostname?= /bin/hostname +TOOLS_PLATFORM.id?= /usr/bin/id +TOOLS_PLATFORM.ident?= /usr/bin/ident +TOOLS_PLATFORM.install?= /usr/bin/install +TOOLS_PLATFORM.ldconfig?= /sbin/ldconfig +TOOLS_PLATFORM.lex?= /usr/bin/lex +TOOLS_PLATFORM.ln?= /bin/ln +TOOLS_PLATFORM.ls?= /bin/ls +TOOLS_PLATFORM.m4?= /usr/bin/m4 +TOOLS_PLATFORM.mail?= /usr/bin/mail +TOOLS_PLATFORM.mkdir?= /bin/mkdir -p +TOOLS_PLATFORM.mktemp?= /usr/bin/mktemp +TOOLS_PLATFORM.mtree?= /usr/sbin/mtree +TOOLS_PLATFORM.mv?= /bin/mv +TOOLS_PLATFORM.nice?= /usr/bin/nice +TOOLS_PLATFORM.nroff?= /usr/bin/nroff +TOOLS_PLATFORM.openssl?= /usr/bin/openssl +# "/usr/bin/patch -b .orig" causes error. +#TOOLS_PLATFORM.patch?= /usr/bin/patch +TOOLS_PLATFORM.pax?= /bin/pax +TOOLS_PLATFORM.printf?= /usr/bin/printf +TOOLS_PLATFORM.pwd?= /bin/pwd +TOOLS_PLATFORM.readelf?= /usr/bin/readelf +TOOLS_PLATFORM.readlink?= /usr/bin/readlink +TOOLS_PLATFORM.rm?= /bin/rm +TOOLS_PLATFORM.rmdir?= /bin/rmdir +TOOLS_PLATFORM.sdiff?= /usr/bin/sdiff +TOOLS_PLATFORM.sed?= /usr/bin/sed +TOOLS_PLATFORM.sh?= /bin/sh +TOOLS_PLATFORM.sleep?= /bin/sleep +TOOLS_PLATFORM.soelim?= /usr/bin/soelim +TOOLS_PLATFORM.sort?= /usr/bin/sort +TOOLS_PLATFORM.strip?= /usr/bin/strip +TOOLS_PLATFORM.tail?= /usr/bin/tail +TOOLS_PLATFORM.tar?= /usr/bin/tar +.if exists(/usr/bin/tbl) +TOOLS_PLATFORM.tbl?= /usr/bin/tbl +.endif +TOOLS_PLATFORM.tee?= /usr/bin/tee +TOOLS_PLATFORM.test?= test # shell builtin +TOOLS_PLATFORM.touch?= /usr/bin/touch +TOOLS_PLATFORM.tr?= /usr/bin/tr +TOOLS_PLATFORM.true?= true # shell builtin +TOOLS_PLATFORM.tsort?= /usr/bin/tsort +TOOLS_PLATFORM.uniq?= /usr/bin/uniq +.if exists(/usr/bin/unzip) +TOOLS_PLATFORM.unzip?= /usr/bin/unzip +.endif +TOOLS_PLATFORM.wc?= /usr/bin/wc +TOOLS_PLATFORM.xargs?= /usr/bin/xargs +.if exists(/usr/bin/xz) +TOOLS_PLATFORM.xz?= /usr/bin/xz +.endif +.if exists(/usr/bin/xzcat) +TOOLS_PLATFORM.xzcat?= /usr/bin/xzcat +.endif +TOOLS_PLATFORM.yacc?= /usr/bin/yacc -- cgit v1.2.3