diff --git a/CMakeLists.txt b/CMakeLists.txt index eb1f811..8c747c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,5 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.15) PROJECT(maiko C) - SET(CMAKE_EXPORT_COMPILE_COMMANDS ON) SET(CMAKE_C_STANDARD 99) @@ -37,6 +36,11 @@ IF(NEED_LIB_M) SET(MAIKO_LIBRARIES m) ENDIF() +CHECK_LIBRARY_EXISTS(bsd strlcat "" NEED_LIB_BSD) +IF(NEED_LIB_BSD) + SET(MAIKO_LIBRARIES ${MAIKO_LIBRARIES} bsd) +ENDIF() + SET (MAIKO_RELEASE 351 CACHE STRING "Release version to build. Release: 115, 200, 201, 210, 300, 350, 351") SET_PROPERTY(CACHE MAIKO_RELEASE PROPERTY STRINGS 115 200 201 210 300 350 351) @@ -448,6 +452,7 @@ ADD_CUSTOM_COMMAND(OUTPUT vdate.c ADD_EXECUTABLE(lde src/ldeboot.c src/unixfork.c) TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DEFINITIONS}) TARGET_INCLUDE_DIRECTORIES(lde PRIVATE inc) +TARGET_LINK_LIBRARIES(lde ${MAIKO_LIBRARIES}) IF(MAIKO_DISPLAY_X11) # Tell it that the X11 launcher is available. TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DISPLAY_X11_DEFINITIONS}) diff --git a/bin/makefile-init-linux.aarch64 b/bin/makefile-init-linux.aarch64 index 52ab52b..5b4ce1d 100644 --- a/bin/makefile-init-linux.aarch64 +++ b/bin/makefile-init-linux.aarch64 @@ -21,8 +21,8 @@ OPTFLAGS = -O0 -g DEBUGFLAGS = DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-init-linux.x86_64 b/bin/makefile-init-linux.x86_64 index 8eeb208..ae6e2cf 100644 --- a/bin/makefile-init-linux.x86_64 +++ b/bin/makefile-init-linux.x86_64 @@ -21,8 +21,8 @@ OPTFLAGS = -O0 -g DEBUGFLAGS = DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-init-wsl1.aarch64 b/bin/makefile-init-wsl1.aarch64 index 5362d82..7fb5fce 100644 --- a/bin/makefile-init-wsl1.aarch64 +++ b/bin/makefile-init-wsl1.aarch64 @@ -21,8 +21,8 @@ OPTFLAGS = -O0 -g DEBUGFLAGS = DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__ -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-init-wsl1.x86_64 b/bin/makefile-init-wsl1.x86_64 index 182631f..a35a195 100644 --- a/bin/makefile-init-wsl1.x86_64 +++ b/bin/makefile-init-wsl1.x86_64 @@ -21,8 +21,8 @@ OPTFLAGS = -O0 -g DEBUGFLAGS = DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__ -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.386-sdl b/bin/makefile-linux.386-sdl index 733f3c7..40f2706 100644 --- a/bin/makefile-linux.386-sdl +++ b/bin/makefile-linux.386-sdl @@ -17,8 +17,8 @@ XFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -lm -lSDL2 -LDELDFLAGS = +LDFLAGS = -lm -lSDL2 -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.386-x b/bin/makefile-linux.386-x index e733b9a..62c0bc4 100644 --- a/bin/makefile-linux.386-x +++ b/bin/makefile-linux.386-x @@ -19,8 +19,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.aarch64-sdl b/bin/makefile-linux.aarch64-sdl index 94b719c..6d450be 100644 --- a/bin/makefile-linux.aarch64-sdl +++ b/bin/makefile-linux.aarch64-sdl @@ -17,8 +17,8 @@ SDLFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -lSDL2 -lm -LDELDFLAGS = +LDFLAGS = -lSDL2 -lm -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.aarch64-x b/bin/makefile-linux.aarch64-x index ff0b349..a001209 100644 --- a/bin/makefile-linux.aarch64-x +++ b/bin/makefile-linux.aarch64-x @@ -19,8 +19,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.armv7l-sdl b/bin/makefile-linux.armv7l-sdl index da9c4cc..86e4f47 100644 --- a/bin/makefile-linux.armv7l-sdl +++ b/bin/makefile-linux.armv7l-sdl @@ -17,8 +17,8 @@ XFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -lm -lSDL2 -LDELDFLAGS = +LDFLAGS = -lm -lSDL2 -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.armv7l-x b/bin/makefile-linux.armv7l-x index ee283b4..1e3740c 100644 --- a/bin/makefile-linux.armv7l-x +++ b/bin/makefile-linux.armv7l-x @@ -19,8 +19,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.x86_64-sdl b/bin/makefile-linux.x86_64-sdl index ccf98c3..c57dca0 100644 --- a/bin/makefile-linux.x86_64-sdl +++ b/bin/makefile-linux.x86_64-sdl @@ -17,8 +17,8 @@ XFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -lm -lSDL2 -LDELDFLAGS = +LDFLAGS = -lm -lSDL2 -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-linux.x86_64-x b/bin/makefile-linux.x86_64-x index e9225aa..5cb63bb 100644 --- a/bin/makefile-linux.x86_64-x +++ b/bin/makefile-linux.x86_64-x @@ -20,8 +20,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-wsl1.aarch64-sdl b/bin/makefile-wsl1.aarch64-sdl index f3ce3ca..7e756e9 100644 --- a/bin/makefile-wsl1.aarch64-sdl +++ b/bin/makefile-wsl1.aarch64-sdl @@ -17,8 +17,8 @@ SDLFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__ -LDFLAGS = -lSDL2 -lm -LDELDFLAGS = +LDFLAGS = -lSDL2 -lm -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-wsl1.aarch64-x b/bin/makefile-wsl1.aarch64-x index 15964b5..fb57847 100644 --- a/bin/makefile-wsl1.aarch64-x +++ b/bin/makefile-wsl1.aarch64-x @@ -19,8 +19,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__ -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-wsl1.x86_64-sdl b/bin/makefile-wsl1.x86_64-sdl index ec16b95..5bad16a 100644 --- a/bin/makefile-wsl1.x86_64-sdl +++ b/bin/makefile-wsl1.x86_64-sdl @@ -17,8 +17,8 @@ XFLAGS = -DSDL=2 OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__ -LDFLAGS = -lm -lSDL2 -LDELDFLAGS = +LDFLAGS = -lm -lSDL2 -lbsd +LDELDFLAGS = -lbsd OBJECTDIR = ../$(RELEASENAME)/ diff --git a/bin/makefile-wsl1.x86_64-x b/bin/makefile-wsl1.x86_64-x index fe1b6c0..6c12433 100644 --- a/bin/makefile-wsl1.x86_64-x +++ b/bin/makefile-wsl1.x86_64-x @@ -20,8 +20,8 @@ XFLAGS = -DXWINDOW OPTFLAGS = -O2 -g3 DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__ -LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm +LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd +LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lbsd OBJECTDIR = ../$(RELEASENAME)/