diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 43e1489e..f0a71d24 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -17,7 +17,7 @@ jobs: - name: Set up build environment (macOS) run: | brew update - brew install check + brew install check pkg-config if: runner.os == 'macOS' - uses: actions/checkout@v6 - name: Build diff --git a/.github/workflows/cross-platform-actions.yml b/.github/workflows/cross-platform-actions.yml index 8864bb74..cf86e6b1 100644 --- a/.github/workflows/cross-platform-actions.yml +++ b/.github/workflows/cross-platform-actions.yml @@ -14,33 +14,34 @@ jobs: version: '6.4.2' pkginstall: | sudo pkg update - sudo pkg install -y check gmake + sudo pkg install -y check gmake pkgconf - operating_system: freebsd version: '15.0' pkginstall: | sudo pkg update - sudo pkg install -y check gmake + sudo pkg install -y check gmake pkgconf - operating_system: haiku version: 'r1beta5' pkginstall: | pkgman update -y - pkgman install -y check_devel + pkgman install -y check_devel pkgconfig - operating_system: midnightbsd version: '4.0.4' pkginstall: | sudo mport upgrade - sudo mport install check gmake || true + sudo mport install check gmake pkgconf || true - operating_system: netbsd version: '10.1' pkginstall: | sudo pkgin update - sudo pkgin -y install check clang gmake + sudo pkgin -y install check clang gmake pkg-config - operating_system: omnios version: 'r151058' pkginstall: | sudo pkg update || true - sudo pkg install build-essential + sudo pkg install build-essential pkg-config sudo ln -s /usr/bin/gcc /usr/bin/cc + # From https://pkgsrc.smartos.org/install-on-illumos/ curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/bootstrap-trunk-x86_64-20240116.tar.gz sudo tar -zxpf bootstrap-trunk-x86_64-*.tar.gz -C / sudo /opt/local/bin/pkgin -y update @@ -49,7 +50,7 @@ jobs: version: '7.9' pkginstall: | sudo pkg_add -u - sudo pkg_add check gmake + sudo pkg_add check gmake pkg-config exclude: - operating_system: dragonflybsd architecture: arm64 @@ -78,6 +79,9 @@ jobs: if [ "${{ matrix.operating_system }}" != "haiku" ]; then export MAKE=gmake fi + if [ "${{ matrix.operating_system }}" = "omnios" ]; then + export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig + fi ${MAKE:-make} CC=cc ${MAKE:-make} clean ${MAKE:-make} CC=cc units UNITS=1 diff --git a/Makefile b/Makefile index c0bdf0a0..d3df9ce5 100644 --- a/Makefile +++ b/Makefile @@ -15,27 +15,14 @@ RANLIB:=$(CROSS_COMPILE)ranlib SIZE:=$(CROSS_COMPILE)size STRIP_BIN:=$(CROSS_COMPILE)strip TEST_LDFLAGS=-pthread $(PREFIX)/modules/*.o $(PREFIX)/lib/*.o -lvdeplug -UNIT_LDFLAGS=-lcheck -lm -pthread -UNIT_CFLAGS= $(CFLAGS) -Wno-missing-braces -Wno-format-extra-args -ifeq ($(OS),Darwin) - BREW_PREFIX_CHECK:=$(shell brew --prefix check) - UNIT_CFLAGS+=-I$(BREW_PREFIX_CHECK)/include - UNIT_LDFLAGS+=-L$(BREW_PREFIX_CHECK)/lib -else ifneq ($(filter $(OS),DragonFly FreeBSD MidnightBSD OpenBSD),) - UNIT_CFLAGS+=-I/usr/local/include - UNIT_LDFLAGS+=-L/usr/local/lib -else ifeq ($(OS),Haiku) - UNIT_CFLAGS+=-I/system/develop/headers - UNIT_LDFLAGS+=-L/system/lib -lnetwork -else ifeq ($(OS),NetBSD) - UNIT_CFLAGS+=-I/usr/pkg/include - UNIT_LDFLAGS+=-L/usr/pkg/lib -Wl,-R/usr/pkg/lib +PKG_CONFIG:=$(CROSS_COMPILE)pkg-config +UNIT_CFLAGS=$(CFLAGS) -Wno-missing-braces -Wno-format-extra-args $(shell $(PKG_CONFIG) --cflags check) +UNIT_LDFLAGS=$(shell $(PKG_CONFIG) --libs check) +ifeq ($(OS),Haiku) + UNIT_LDFLAGS+=-lnetwork else ifeq ($(OS),SunOS) - UNIT_CFLAGS+=-I/opt/local/include - UNIT_LDFLAGS+=-L/opt/local/lib -Wl,-R/opt/local/lib -lsocket -else ifeq ($(OS),Linux) - UNIT_LDFLAGS+=-lsubunit + UNIT_LDFLAGS+=-lsocket endif LIBNAME:="libpicotcp.a"