Files
MSYS2-packages/pacutils/0003-msysize.patch
Jeremy Drake c4310b1db8 pacutils: update patches.
0001 and 0002 were sent upstream as pull requests.
2021-06-14 10:42:37 -07:00

137 lines
3.9 KiB
Diff

From 3674b17632a00d29a65a7f83371811796e085b9e Mon Sep 17 00:00:00 2001
From: Jeremy Drake <github@jdrake.com>
Date: Mon, 14 Jun 2021 10:29:49 -0700
Subject: [PATCH 3/3] msysize
---
lib/Makefile | 34 ++++++++++++++++++++++++++--------
src/Makefile | 2 +-
t/Makefile | 15 +++++++++++----
3 files changed, 38 insertions(+), 13 deletions(-)
diff --git a/lib/Makefile b/lib/Makefile
index a8c368c..b582f2b 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -6,7 +6,7 @@ ALPM_CFLAGS ?= $(shell pkg-config libalpm --cflags)
CFLAGS ?= -Wall -Wextra -Wpedantic -Werror -g
override CFLAGS += $(ALPM_CFLAGS)
-override LDLIBS += -lalpm
+override LDLIBS += $(shell pkg-config libalpm --libs --static)
PREFIX ?= /usr/local
EXEC_PREFIX ?= ${PREFIX}
@@ -24,6 +24,16 @@ HOOKDIR ?= ${SYSCONFDIR}/pacman.d/hooks
LOGFILE ?= ${LOCALSTATEDIR}/log/pacman.log
ROOTDIR ?= /
+SOPREFIX ?= lib
+SOEXT ?= so
+ifeq ($(SOEXT),dll)
+ SODIR ?= ${BINDIR}
+ IMPEXT ?= dll.a
+else
+ SODIR ?= ${LIBDIR}
+ IMPEXT ?=
+endif
+
override CPPFLAGS += \
-DCACHEDIR=\"$(CACHEDIR)\" \
-DDBEXT=\"$(DBEXT)\" \
@@ -63,18 +73,26 @@ SOURCES = \
pacutils/ui.c \
pacutils/util.c
-all: libpacutils.so
+all: ${SOPREFIX}pacutils.${SOEXT}
-libpacutils.so: ${SOURCES}
- $(CC) $(CPPFLAGS) -shared -fPIC $(CFLAGS) -o $@ $^ $(LDLIBS) $(LDFLAGS)
+${SOPREFIX}pacutils.${SOEXT}: ${SOURCES}
+ if [[ -z "${IMPEXT}" ]]; then \
+ $(CC) $(CPPFLAGS) -shared -fPIC $(CFLAGS) -o $@ $^ $(LDLIBS) $(LDFLAGS); \
+ else \
+ $(CC) $(CPPFLAGS) -shared -fPIC $(CFLAGS) -o $@ -Wl,--out-implib,$(patsubst ${SOPREFIX}%.$(SOEXT),lib%.$(IMPEXT),$@) $^ $(LDLIBS) $(LDFLAGS); \
+ fi
-install: libpacutils.so
+install: ${SOPREFIX}pacutils.${SOEXT}
install -d "${DESTDIR}${INCLUDEDIR}/pacutils"
for h in ${HEADERS}; do install -m 644 $$h "${DESTDIR}${INCLUDEDIR}/$$h"; done
- install -d "${DESTDIR}${LIBDIR}"
- install -m 644 libpacutils.so "${DESTDIR}${LIBDIR}/libpacutils.so"
+ install -d "${DESTDIR}${SODIR}"
+ install -m 755 ${SOPREFIX}pacutils.${SOEXT} "${DESTDIR}${SODIR}/${SOPREFIX}pacutils.${SOEXT}"
+ if [[ -n "${IMPEXT}" ]]; then \
+ install -d "${DESTDIR}${LIBDIR}"; \
+ install -m 644 libpacutils.${IMPEXT} "${DESTDIR}${LIBDIR}/libpacutils.${IMPEXT}"; \
+ fi
clean:
- $(RM) *.o *.so*
+ $(RM) *.o *.${SOEXT}*
.PHONY: all clean install
diff --git a/src/Makefile b/src/Makefile
index 708bca1..d6cee3b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -8,7 +8,7 @@ CFLAGS ?= -Wall -Wextra -Wpedantic -Werror -g
override CFLAGS += $(ALPM_CFLAGS)
override CPPFLAGS += -I../lib
override LDFLAGS += -L../lib
-override LDLIBS += -lpacutils -lalpm -larchive
+override LDLIBS += -lpacutils $(shell pkg-config libalpm --libs --static)
PREFIX ?= /usr/local
EXEC_PREFIX ?= ${PREFIX}
diff --git a/t/Makefile b/t/Makefile
index 4e4d447..fe2c276 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -1,10 +1,17 @@
CFLAGS += -Wall -g -Wextra -I../lib
LDFLAGS += -L../lib
-LDLIBS += -lpacutils -lalpm -larchive
+LDLIBS += -lpacutils $(shell pkg-config libalpm --libs --static)
ALPM_CFLAGS ?= $(shell pkg-config libalpm --cflags)
override CFLAGS += $(ALPM_CFLAGS)
+SOEXT ?= so
+ifeq ($(SOEXT),dll)
+ IMPEXT ?= dll.a
+else
+ IMPEXT ?= ${SOEXT}
+endif
+
PROVE ?= prove
GIT ?= git
@@ -26,18 +33,18 @@ TESTS += \
40-ui-cb-download-progress.t \
99-pu_list_shift.t
-%.t: %.c ../lib/libpacutils.so ../ext/tap.c/tap.c Makefile
+%.t: %.c ../lib/libpacutils.${IMPEXT} ../ext/tap.c/tap.c Makefile
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@
check: tests
- LD_LIBRARY_PATH=../lib $(PROVE) $(TESTS)
+ LD_LIBRARY_PATH=../lib PATH="../lib:$$PATH" $(PROVE) $(TESTS)
tests: $(TESTS)
all: tests
valgrind: tests
- LD_LIBRARY_PATH=../lib $(PROVE) --exec="./runtest.sh -v" $(TESTS)
+ LD_LIBRARY_PATH=../lib PATH="../lib:$$PATH" $(PROVE) --exec="./runtest.sh -v" $(TESTS)
gcov: CC = gcc
gcov: CFLAGS += -fprofile-arcs -ftest-coverage
--
2.32.0.windows.1