From 02b8591476fc591d0554ca7dddd46bbb8302aa14 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Fri, 10 Dec 2010 23:14:15 +0000 Subject: [PATCH] Integrating pkg-config --- Makefile | 7 +++++- config.sh | 5 ++++ data/.cvsignore | 2 ++ data/Makefile | 27 +++++++++++++++++++++ data/libDesktop.pc.in | 11 +++++++++ data/pkgconfig.sh | 55 +++++++++++++++++++++++++++++++++++++++++++ data/project.conf | 8 +++++++ project.conf | 6 +++-- 8 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 config.sh create mode 100644 data/.cvsignore create mode 100644 data/Makefile create mode 100644 data/libDesktop.pc.in create mode 100755 data/pkgconfig.sh create mode 100644 data/project.conf diff --git a/Makefile b/Makefile index 786b47e..8aaa832 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PACKAGE = libDesktop VERSION = 0.0.2 -SUBDIRS = include src +SUBDIRS = data include src RM = rm -f LN = ln -f TAR = tar -czvf @@ -21,6 +21,10 @@ dist: $(RM) -r -- $(PACKAGE)-$(VERSION) $(LN) -s -- . $(PACKAGE)-$(VERSION) @$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \ + $(PACKAGE)-$(VERSION)/data/Makefile \ + $(PACKAGE)-$(VERSION)/data/libDesktop.pc.in \ + $(PACKAGE)-$(VERSION)/data/pkgconfig.sh \ + $(PACKAGE)-$(VERSION)/data/project.conf \ $(PACKAGE)-$(VERSION)/include/Desktop.h \ $(PACKAGE)-$(VERSION)/include/Makefile \ $(PACKAGE)-$(VERSION)/include/project.conf \ @@ -40,6 +44,7 @@ dist: $(PACKAGE)-$(VERSION)/src/project.conf \ $(PACKAGE)-$(VERSION)/Makefile \ $(PACKAGE)-$(VERSION)/COPYING \ + $(PACKAGE)-$(VERSION)/config.sh \ $(PACKAGE)-$(VERSION)/project.conf $(RM) -- $(PACKAGE)-$(VERSION) diff --git a/config.sh b/config.sh new file mode 100644 index 0000000..6d688bd --- /dev/null +++ b/config.sh @@ -0,0 +1,5 @@ +PACKAGE="libDesktop" +VERSION="0.0.2" + +PREFIX="/usr/local" +LIBDIR="${PREFIX}/lib" diff --git a/data/.cvsignore b/data/.cvsignore new file mode 100644 index 0000000..ffe3cd8 --- /dev/null +++ b/data/.cvsignore @@ -0,0 +1,2 @@ +.cvsignore +libDesktop.pc diff --git a/data/Makefile b/data/Makefile new file mode 100644 index 0000000..258470e --- /dev/null +++ b/data/Makefile @@ -0,0 +1,27 @@ +TARGETS = libDesktop.pc +PREFIX = /usr/local +DESTDIR = +RM = rm -f +LN = ln -f +MKDIR = mkdir -p +INSTALL = install + + +all: $(TARGETS) + +libDesktop.pc: ../config.sh + ./pkgconfig.sh "libDesktop.pc" + +clean: + $(RM) -- $(libDesktop.pc_OBJS) + +distclean: clean + $(RM) -- $(TARGETS) + +install: all + ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" install "libDesktop.pc" + +uninstall: + ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" uninstall "libDesktop.pc" + +.PHONY: all clean distclean install uninstall diff --git a/data/libDesktop.pc.in b/data/libDesktop.pc.in new file mode 100644 index 0000000..b2750ae --- /dev/null +++ b/data/libDesktop.pc.in @@ -0,0 +1,11 @@ +prefix=PREFIX +includedir=${prefix}/include +exec_prefix=${prefix} +libdir=${exec_prefix}/lib + +Name: libDesktop +Description: DeforaOS Desktop helper library +Version: VERSION +Requires: gtk+-2.0 +Cflags: -I${includedir} +Libs: -Wl,-R${libdir} -L${libdir} -lDesktop diff --git a/data/pkgconfig.sh b/data/pkgconfig.sh new file mode 100755 index 0000000..4d86320 --- /dev/null +++ b/data/pkgconfig.sh @@ -0,0 +1,55 @@ +#!/bin/sh +#$Id$ + + + +#variables +. "../config.sh" +DEBUG="_debug" +INSTALL="install -m 0644" +MKDIR="mkdir -p" +RM="rm -f" +SED="sed" + + +#functions +#debug +_debug() +{ + echo $@ + $@ +} + + +#usage +_usage() +{ + echo "Usage: pkgconfig.sh target" 1>&2 + echo " pkgconfig.sh -p prefix install target" 1>&2 + echo " pkgconfig.sh -p prefix uninstall target" 1>&2 + return 1 +} + + +#main +if [ $# -eq 4 -a "$1" = "-p" ]; then + PREFIX="$2" + PKGCONFIG="$PREFIX/lib/pkgconfig" + + if [ "$3" = "install" ]; then + $DEBUG $MKDIR "$PKGCONFIG" || exit 2 + $DEBUG $INSTALL "$4" "$PKGCONFIG/$4" || exit 2 + exit 0 + elif [ "$3" = "uninstall" ]; then + $DEBUG $RM "$PKGCONFIG/$4" || exit 2 + exit 0 + else + echo "pkgconfig.sh: $3: Unknown operation" 1>&2 + fi +fi +if [ $# -ne 1 ]; then + _usage + exit $? +fi + +$SED -e "s,PREFIX,$PREFIX," -e "s,VERSION,$VERSION," "$1.in" > "$1" diff --git a/data/project.conf b/data/project.conf new file mode 100644 index 0000000..16a3ff8 --- /dev/null +++ b/data/project.conf @@ -0,0 +1,8 @@ +targets=libDesktop.pc +dist=Makefile,libDesktop.pc.in,pkgconfig.sh + +[libDesktop.pc] +type=script +script=./pkgconfig.sh +depends=../config.sh +install= diff --git a/project.conf b/project.conf index cf9aab8..11fe105 100644 --- a/project.conf +++ b/project.conf @@ -1,4 +1,6 @@ package=libDesktop version=0.0.2 -subdirs=include,src -dist=Makefile,COPYING + +subdirs=data,include,src +config=sh +dist=Makefile,COPYING,config.sh