From 7899f917b1c0ea178f1d2be0cfb452086d079d23 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Mon, 9 Sep 2024 17:17:27 +0200 Subject: [PATCH] flua: move modules source into the main source directory Follow the path of what is done with bsnmp, build the modules along with the main binary, this allows to build the modules at a moment where all needed libraries are already built and available in the linker path instead of having to declare all the libraries which a flua module will be linked to in _prebuild_libs. Discused with: markj Reviewed by: markj, jrtc27, kevans, imp Accepted by: kevans, imp Differential Revision: https://reviews.freebsd.org/D46610 --- Makefile.inc1 | 4 +--- lib/Makefile | 5 ----- lib/flua/Makefile | 6 ------ lib/flua/libfreebsd/sys/linker/Makefile | 12 ------------ lib/flua/libhash/Makefile | 14 -------------- libexec/flua/Makefile | 5 +++++ libexec/flua/Makefile.inc | 5 +++++ {lib => libexec}/flua/libfreebsd/Makefile | 0 libexec/flua/libfreebsd/Makefile.inc | 1 + {lib => libexec}/flua/libfreebsd/sys/Makefile | 0 libexec/flua/libfreebsd/sys/Makefile.inc | 1 + libexec/flua/libfreebsd/sys/linker/Makefile | 7 +++++++ .../libfreebsd/sys/linker/freebsd.sys.linker.3lua | 0 .../flua/libfreebsd/sys/linker/linker.c | 0 libexec/flua/libhash/Makefile | 9 +++++++++ {lib => libexec}/flua/libhash/hash.3lua | 0 {lib => libexec}/flua/libhash/lhash.c | 0 {lib => libexec}/flua/libhash/lhash.h | 0 {lib => libexec}/flua/libjail/Makefile | 5 ----- {lib => libexec}/flua/libjail/jail.3lua | 0 {lib => libexec}/flua/libjail/lua_jail.c | 0 {lib => libexec}/flua/libucl/Makefile | 3 --- stand/defs.mk | 2 +- 23 files changed, 30 insertions(+), 49 deletions(-) delete mode 100644 lib/flua/Makefile delete mode 100644 lib/flua/libfreebsd/sys/linker/Makefile delete mode 100644 lib/flua/libhash/Makefile create mode 100644 libexec/flua/Makefile.inc rename {lib => libexec}/flua/libfreebsd/Makefile (100%) create mode 100644 libexec/flua/libfreebsd/Makefile.inc rename {lib => libexec}/flua/libfreebsd/sys/Makefile (100%) create mode 100644 libexec/flua/libfreebsd/sys/Makefile.inc create mode 100644 libexec/flua/libfreebsd/sys/linker/Makefile rename {lib => libexec}/flua/libfreebsd/sys/linker/freebsd.sys.linker.3lua (100%) rename {lib => libexec}/flua/libfreebsd/sys/linker/linker.c (100%) create mode 100644 libexec/flua/libhash/Makefile rename {lib => libexec}/flua/libhash/hash.3lua (100%) rename {lib => libexec}/flua/libhash/lhash.c (100%) rename {lib => libexec}/flua/libhash/lhash.h (100%) rename {lib => libexec}/flua/libjail/Makefile (50%) rename {lib => libexec}/flua/libjail/jail.3lua (100%) rename {lib => libexec}/flua/libjail/lua_jail.c (100%) rename {lib => libexec}/flua/libucl/Makefile (72%) diff --git a/Makefile.inc1 b/Makefile.inc1 index 57141a48243..991e9973fb0 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3236,8 +3236,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} \ lib/libutil lib/libpjdlog ${_lib_libypclnt} lib/libz lib/msun \ lib/libxo \ ${_secure_lib_libcrypto} ${_secure_lib_libssl} \ - ${_lib_libldns} ${_secure_lib_libssh} \ - lib/libucl + ${_lib_libldns} ${_secure_lib_libssh} .if ${MK_DIALOG} != "no" _prebuild_libs+= gnu/lib/libdialog @@ -3292,7 +3291,6 @@ _generic_libs+= ${_DIR} lib/libtacplus__L: lib/libmd__L lib/libpam/libpam__L lib/libxo__L: lib/libutil__L -lib/libucl__L: lib/msun__L .if ${MK_CDDL} != "no" _cddl_lib_libumem= cddl/lib/libumem diff --git a/lib/Makefile b/lib/Makefile index 8860bfeb177..221eac74ee2 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -150,11 +150,6 @@ SUBDIR_DEPEND_libpcap= ofed .endif SUBDIR_DEPEND_nss_tacplus= libtacplus -.if !defined(COMPAT_LIBCOMPAT) -SUBDIR+= flua -SUBDIR_DEPEND_flua= libjail libucl -.endif - # NB: keep these sorted by MK_* knobs SUBDIR.${MK_BEARSSL}+= libbearssl libsecureboot diff --git a/lib/flua/Makefile b/lib/flua/Makefile deleted file mode 100644 index d88e76f6106..00000000000 --- a/lib/flua/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -SUBDIR+= libfreebsd -SUBDIR+= libhash -SUBDIR+= libjail -SUBDIR+= libucl - -.include diff --git a/lib/flua/libfreebsd/sys/linker/Makefile b/lib/flua/libfreebsd/sys/linker/Makefile deleted file mode 100644 index 572b5949d2a..00000000000 --- a/lib/flua/libfreebsd/sys/linker/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -SHLIB_NAME= linker.so -SHLIBDIR= ${LIBDIR}/flua/freebsd/sys - -SRCS+= linker.c - -CFLAGS+= \ - -I${SRCTOP}/contrib/lua/src \ - -I${SRCTOP}/lib/liblua \ - -MAN= freebsd.sys.linker.3lua - -.include diff --git a/lib/flua/libhash/Makefile b/lib/flua/libhash/Makefile deleted file mode 100644 index f166ff90a39..00000000000 --- a/lib/flua/libhash/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -SHLIB_NAME= hash.so -SHLIBDIR= ${LIBDIR}/flua - -SRCS+= lhash.c - -CFLAGS+= \ - -I${SRCTOP}/contrib/lua/src \ - -I${SRCTOP}/lib/liblua \ - -LIBADD+= md - -MAN= hash.3lua - -.include diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile index c8206b94769..08ea9c002d6 100644 --- a/libexec/flua/Makefile +++ b/libexec/flua/Makefile @@ -1,5 +1,10 @@ .include +SUBDIR+= libfreebsd +SUBDIR+= libhash +SUBDIR+= libjail +SUBDIR+= libucl + LUASRC?= ${SRCTOP}/contrib/lua/src .PATH: ${LUASRC} diff --git a/libexec/flua/Makefile.inc b/libexec/flua/Makefile.inc new file mode 100644 index 00000000000..34505d54d7d --- /dev/null +++ b/libexec/flua/Makefile.inc @@ -0,0 +1,5 @@ +SHLIBDIR?= ${LIBDIR}/flua + +CFLAGS+= \ + -I${SRCTOP}/contrib/lua/src \ + -I${SRCTOP}/lib/liblua diff --git a/lib/flua/libfreebsd/Makefile b/libexec/flua/libfreebsd/Makefile similarity index 100% rename from lib/flua/libfreebsd/Makefile rename to libexec/flua/libfreebsd/Makefile diff --git a/libexec/flua/libfreebsd/Makefile.inc b/libexec/flua/libfreebsd/Makefile.inc new file mode 100644 index 00000000000..01b5f23410c --- /dev/null +++ b/libexec/flua/libfreebsd/Makefile.inc @@ -0,0 +1 @@ +.include "../Makefile.inc" diff --git a/lib/flua/libfreebsd/sys/Makefile b/libexec/flua/libfreebsd/sys/Makefile similarity index 100% rename from lib/flua/libfreebsd/sys/Makefile rename to libexec/flua/libfreebsd/sys/Makefile diff --git a/libexec/flua/libfreebsd/sys/Makefile.inc b/libexec/flua/libfreebsd/sys/Makefile.inc new file mode 100644 index 00000000000..01b5f23410c --- /dev/null +++ b/libexec/flua/libfreebsd/sys/Makefile.inc @@ -0,0 +1 @@ +.include "../Makefile.inc" diff --git a/libexec/flua/libfreebsd/sys/linker/Makefile b/libexec/flua/libfreebsd/sys/linker/Makefile new file mode 100644 index 00000000000..1adf547b503 --- /dev/null +++ b/libexec/flua/libfreebsd/sys/linker/Makefile @@ -0,0 +1,7 @@ +SHLIB_NAME= linker.so + +SRCS+= linker.c + +MAN= freebsd.sys.linker.3lua + +.include diff --git a/lib/flua/libfreebsd/sys/linker/freebsd.sys.linker.3lua b/libexec/flua/libfreebsd/sys/linker/freebsd.sys.linker.3lua similarity index 100% rename from lib/flua/libfreebsd/sys/linker/freebsd.sys.linker.3lua rename to libexec/flua/libfreebsd/sys/linker/freebsd.sys.linker.3lua diff --git a/lib/flua/libfreebsd/sys/linker/linker.c b/libexec/flua/libfreebsd/sys/linker/linker.c similarity index 100% rename from lib/flua/libfreebsd/sys/linker/linker.c rename to libexec/flua/libfreebsd/sys/linker/linker.c diff --git a/libexec/flua/libhash/Makefile b/libexec/flua/libhash/Makefile new file mode 100644 index 00000000000..b7c8d7ee994 --- /dev/null +++ b/libexec/flua/libhash/Makefile @@ -0,0 +1,9 @@ +SHLIB_NAME= hash.so + +SRCS+= lhash.c + +LIBADD+= md + +MAN= hash.3lua + +.include diff --git a/lib/flua/libhash/hash.3lua b/libexec/flua/libhash/hash.3lua similarity index 100% rename from lib/flua/libhash/hash.3lua rename to libexec/flua/libhash/hash.3lua diff --git a/lib/flua/libhash/lhash.c b/libexec/flua/libhash/lhash.c similarity index 100% rename from lib/flua/libhash/lhash.c rename to libexec/flua/libhash/lhash.c diff --git a/lib/flua/libhash/lhash.h b/libexec/flua/libhash/lhash.h similarity index 100% rename from lib/flua/libhash/lhash.h rename to libexec/flua/libhash/lhash.h diff --git a/lib/flua/libjail/Makefile b/libexec/flua/libjail/Makefile similarity index 50% rename from lib/flua/libjail/Makefile rename to libexec/flua/libjail/Makefile index 2b9b6c777cb..20cd9f5f142 100644 --- a/lib/flua/libjail/Makefile +++ b/libexec/flua/libjail/Makefile @@ -1,12 +1,7 @@ SHLIB_NAME= jail.so -SHLIBDIR= ${LIBDIR}/flua SRCS+= lua_jail.c -CFLAGS+= \ - -I${SRCTOP}/contrib/lua/src \ - -I${SRCTOP}/lib/liblua \ - LIBADD+= jail MAN= jail.3lua diff --git a/lib/flua/libjail/jail.3lua b/libexec/flua/libjail/jail.3lua similarity index 100% rename from lib/flua/libjail/jail.3lua rename to libexec/flua/libjail/jail.3lua diff --git a/lib/flua/libjail/lua_jail.c b/libexec/flua/libjail/lua_jail.c similarity index 100% rename from lib/flua/libjail/lua_jail.c rename to libexec/flua/libjail/lua_jail.c diff --git a/lib/flua/libucl/Makefile b/libexec/flua/libucl/Makefile similarity index 72% rename from lib/flua/libucl/Makefile rename to libexec/flua/libucl/Makefile index 7d2681b85fc..a88c8bda6bf 100644 --- a/lib/flua/libucl/Makefile +++ b/libexec/flua/libucl/Makefile @@ -1,5 +1,4 @@ SHLIB_NAME= ucl.so -SHLIBDIR= ${LIBDIR}/flua WARNS= 2 @@ -7,8 +6,6 @@ UCLSRC?= ${SRCTOP}/contrib/libucl .PATH: ${UCLSRC}/lua SRCS+= lua_ucl.c CFLAGS+= \ - -I${SRCTOP}/contrib/lua/src \ - -I${SRCTOP}/lib/liblua \ -I${UCLSRC}/include \ -I${UCLSRC}/src \ -I${UCLSRC}/uthash diff --git a/stand/defs.mk b/stand/defs.mk index 452ba060c50..bd19c8d8e12 100644 --- a/stand/defs.mk +++ b/stand/defs.mk @@ -64,7 +64,7 @@ BINDIR?= /boot # LUAPATH is where we search for and install lua scripts. LUAPATH?= /boot/lua FLUASRC?= ${SRCTOP}/libexec/flua -FLUALIB?= ${SRCTOP}/lib/flua +FLUALIB?= ${SRCTOP}/libexec/flua LIBSA= ${BOOTOBJ}/libsa/libsa.a .if ${MACHINE} == "i386"