Browse Source

Fix some pkg-config related things

* use a separate `libtomcrypt` folder to install the headers to
* use `INCPATH` and `LIBPATH` when installing `libtomcrypt.pc`
* fix `libtomcrypt.pc` generation for `makefile.unix`

This fixes #625

Signed-off-by: Steffen Jaeckel <[email protected]>
Steffen Jaeckel 2 years ago
parent
commit
7a38fca62a
4 changed files with 12 additions and 6 deletions
  1. 1 2
      libtomcrypt.pc.in
  2. 2 2
      makefile.shared
  3. 8 1
      makefile.unix
  4. 1 1
      makefile_include.mk

+ 1 - 2
libtomcrypt.pc.in

@@ -1,6 +1,5 @@
 prefix=@CMAKE_INSTALL_PREFIX@
 prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
 includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@PROJECT_NAME@
 includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@PROJECT_NAME@
 
 
 Name: LibTomCrypt
 Name: LibTomCrypt

+ 2 - 2
makefile.shared

@@ -93,8 +93,8 @@ endef
 $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))
 $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))
 
 
 install: $(call print-help,install,Installs the library + headers + pkg-config file) .common_install
 install: $(call print-help,install,Installs the library + headers + pkg-config file) .common_install
-	sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,@CMAKE_INSTALL_LIBDIR@,lib,' \
-		-e 's,@CMAKE_INSTALL_INCLUDEDIR@/@PROJECT_NAME@,include/tomcrypt,' \
+	sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,^libdir=.*,libdir=$(LIBPATH),' \
+		-e 's,^includedir=.*,includedir=$(INCPATH),' \
 		-e 's,@MPI_PROVIDERS_LIBS@,$(LTC_MPI_PROVIDERS_LIBS),' \
 		-e 's,@MPI_PROVIDERS_LIBS@,$(LTC_MPI_PROVIDERS_LIBS),' \
 		-e 's,@MPI_PROVIDERS_CFLAGS@,$(LTC_MPI_PROVIDERS_CFLAGS),' libtomcrypt.pc.in > libtomcrypt.pc
 		-e 's,@MPI_PROVIDERS_CFLAGS@,$(LTC_MPI_PROVIDERS_CFLAGS),' libtomcrypt.pc.in > libtomcrypt.pc
 	install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig
 	install -p -d $(DESTDIR)$(LIBPATH)/pkgconfig

+ 8 - 1
makefile.unix

@@ -35,11 +35,15 @@ ARFLAGS   = r
 RANLIB    = ranlib
 RANLIB    = ranlib
 CFLAGS    = -O2 -DUSE_LTM -DLTM_DESC -I../libtommath
 CFLAGS    = -O2 -DUSE_LTM -DLTM_DESC -I../libtommath
 EXTRALIBS = ../libtommath/libtommath.a
 EXTRALIBS = ../libtommath/libtommath.a
+# pkg-config flags, added to libtomcrypt.pc on install time
+PC_CFLAGS = -DLTM_DESC
+PC_LIBS   = -ltommath
 
 
 #Compilation flags
 #Compilation flags
 LTC_CFLAGS  = -Isrc/headers -Itests -DLTC_SOURCE $(CFLAGS)
 LTC_CFLAGS  = -Isrc/headers -Itests -DLTC_SOURCE $(CFLAGS)
 LTC_LDFLAGS = $(LDFLAGS) $(EXTRALIBS)
 LTC_LDFLAGS = $(LDFLAGS) $(EXTRALIBS)
 VERSION=1.18.2-develop
 VERSION=1.18.2-develop
+VERSION_PC=1.18.2
 
 
 #Libraries to be created (this makefile builds only static libraries)
 #Libraries to be created (this makefile builds only static libraries)
 LIBMAIN_S =libtomcrypt.a
 LIBMAIN_S =libtomcrypt.a
@@ -320,7 +324,10 @@ install: $(LIBMAIN_S)
 	@mkdir -p $(DESTDIR)$(INCPATH) $(DESTDIR)$(LIBPATH)/pkgconfig
 	@mkdir -p $(DESTDIR)$(INCPATH) $(DESTDIR)$(LIBPATH)/pkgconfig
 	@cp $(LIBMAIN_S) $(DESTDIR)$(LIBPATH)/
 	@cp $(LIBMAIN_S) $(DESTDIR)$(LIBPATH)/
 	@cp $(HEADERS_PUB) $(DESTDIR)$(INCPATH)/
 	@cp $(HEADERS_PUB) $(DESTDIR)$(INCPATH)/
-	@sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > $(DESTDIR)$(LIBPATH)/pkgconfig/libtomcrypt.pc
+	@sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION_PC),' -e 's,^libdir=.*,libdir=$(LIBPATH),' \
+		-e 's,^includedir=.*,includedir=$(INCPATH),' \
+		-e 's,@MPI_PROVIDERS_LIBS@,$(PC_LIBS),' \
+		-e 's,@MPI_PROVIDERS_CFLAGS@,$(PC_CFLAGS),' libtomcrypt.pc.in > $(DESTDIR)$(LIBPATH)/pkgconfig/libtomcrypt.pc
 
 
 #Install useful tools
 #Install useful tools
 install_bins: hashsum
 install_bins: hashsum

+ 1 - 1
makefile_include.mk

@@ -190,7 +190,7 @@ DEMOS          = $(UNBROKEN_DEMOS) $(BROKEN_DEMOS)
 DESTDIR  ?=
 DESTDIR  ?=
 PREFIX   ?= /usr/local
 PREFIX   ?= /usr/local
 LIBPATH  ?= $(PREFIX)/lib
 LIBPATH  ?= $(PREFIX)/lib
-INCPATH  ?= $(PREFIX)/include
+INCPATH  ?= $(PREFIX)/include/libtomcrypt
 DATAPATH ?= $(PREFIX)/share/doc/libtomcrypt/pdf
 DATAPATH ?= $(PREFIX)/share/doc/libtomcrypt/pdf
 BINPATH  ?= $(PREFIX)/bin
 BINPATH  ?= $(PREFIX)/bin