Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -5,8 +5,30 @@ autom4te.cache \ buildsys.mk \ config.h \ config.log \ config.status \ - extra.mk + extra.mk \ + objfw-config include buildsys.mk + +install-extra: + for i in objfw-config; do \ + ${INSTALL_STATUS}; \ + if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \ + ${INSTALL_OK}; \ + else \ + ${INSTALL_FAILED}; \ + fi \ + done + +uninstall-extra: + for i in objfw-config; do \ + if test -f ${DESTDIR}${bindir}/$$i; then \ + if rm -f ${DESTDIR}${bindir}/$$i; then \ + ${DELETE_OK}; \ + else \ + ${DELETE_FAILED}; \ + fi \ + fi \ + done Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -130,12 +130,14 @@ OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString" LIBS="$LIBS -lobjc" AX_CHECK_COMPILER_FLAGS(-pipe, [OBJCFLAGS="$OBJCFLAGS -pipe"]) AX_CHECK_COMPILER_FLAGS(-fno-common, [OBJCFLAGS="$OBJCFLAGS -fno-common"]) -AX_CHECK_COMPILER_FLAGS(-fno-constant-cfstrings, - [OBJCFLAGS="$OBJCFLAGS -fno-constant-cfstrings"]) +AX_CHECK_COMPILER_FLAGS(-fno-constant-cfstrings, [ + NO_CONST_CFSTRINGS="-fno-constant-cfstrings" + OBJCFLAGS="$OBJCFLAGS -fno-constant-cfstrings"]) +AC_SUBST(NO_CONST_CFSTRINGS) AC_CHECK_HEADER(objc/runtime.h, [AC_DEFINE(HAVE_OBJC_RUNTIME_H, 1, [Whether we have objc/runtime.h])]) test x"$GCC" = x"yes" && CFLAGS="$CFLAGS -Werror" @@ -180,8 +182,8 @@ fi BUILDSYS_TOUCH_DEPS AC_SUBST(PACKAGE, objfw) -AC_CONFIG_FILES([buildsys.mk extra.mk]) +AC_CONFIG_FILES([buildsys.mk extra.mk objfw-config]) AC_CONFIG_HEADERS(config.h) AC_OUTPUT ADDED objfw-config.in Index: objfw-config.in ================================================================== --- objfw-config.in +++ objfw-config.in @@ -0,0 +1,54 @@ +#!/bin/sh +prefix="@prefix@" +exec_prefix="@exec_prefix@" +CFLAGS="" +CPPFLAGS="-I@includedir@/objfw" +CXXFLAGS="" +OBJCFLAGS="-fobjc-exceptions -fconstant-string-class=OFConstString" +OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@" +LIBS="-L@libdir@ -lobjfw @LIBS@" +VERSION="0.1" + +show_help() { + echo "$0: Available arguments are:" + echo + echo " --cflags Outputs the required CFLAGS" + echo " --cppflags Outputs the required CPPFLAGS" + echo " --cxxflags Outputs the required CXXFLAGS" + echo " --objcflags Outputs the required OBJCFLAGS" + echo " --libs Outputs the required LIBS" + echo " --version Outputs the installed version" + echo + exit 0 +} + +test -z "$1" && show_help + +while test ! -z "$1"; do + case "$1" in + --cflags) + echo "$CFLAGS" + ;; + --cppflags) + echo "$CPPFLAGS" + ;; + --cxxflags) + echo "$CXXFLAGS" + ;; + --objcflags) + echo "$OBJCFLAGS" + ;; + --libs) + echo "$LIBS" + ;; + --version) + echo "$VERSION" + ;; + *) + echo "Invalid option: $1" + exit 1 + ;; + esac + + shift +done Index: src/Makefile ================================================================== --- src/Makefile +++ src/Makefile @@ -1,10 +1,10 @@ include ../extra.mk LIB = ${LIB_PREFIX}objfw${LIB_SUFFIX} -LIB_MAJOR = 1 -LIB_MINOR = 0 +LIB_MAJOR = 0 +LIB_MINOR = 1 SRCS = OFArray.m \ OFAutoreleasePool.m \ OFConstString.m \ OFDataArray.m \ Index: tests/OFAutoreleasePool/Makefile ================================================================== --- tests/OFAutoreleasePool/Makefile +++ tests/OFAutoreleasePool/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFDataArray/Makefile ================================================================== --- tests/OFDataArray/Makefile +++ tests/OFDataArray/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFDictionary/Makefile ================================================================== --- tests/OFDictionary/Makefile +++ tests/OFDictionary/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFHashes/Makefile ================================================================== --- tests/OFHashes/Makefile +++ tests/OFHashes/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFList/Makefile ================================================================== --- tests/OFList/Makefile +++ tests/OFList/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFObject/Makefile ================================================================== --- tests/OFObject/Makefile +++ tests/OFObject/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFPlugin/Makefile ================================================================== --- tests/OFPlugin/Makefile +++ tests/OFPlugin/Makefile @@ -11,15 +11,15 @@ .PHONY: run all: run run: subdirs ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFString/Makefile ================================================================== --- tests/OFString/Makefile +++ tests/OFString/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFTCPSocket/Makefile ================================================================== --- tests/OFTCPSocket/Makefile +++ tests/OFTCPSocket/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFThread/Makefile ================================================================== --- tests/OFThread/Makefile +++ tests/OFThread/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT Index: tests/OFXMLFactory/Makefile ================================================================== --- tests/OFXMLFactory/Makefile +++ tests/OFXMLFactory/Makefile @@ -9,15 +9,15 @@ .PHONY: run all: run run: ${PROG_NOINST} - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib - ln -s ../../src/libobjfw.so libobjfw.so.1 - ln -s ../../src/libobjfw.so libobjfw.so.1.0 + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib + ln -s ../../src/libobjfw.so libobjfw.so.0 + ln -s ../../src/libobjfw.so libobjfw.so.0.1 ln -s ../../src/libobjfw.dll libobjfw.dll ln -s ../../src/libobjfw.dylib libobjfw.dylib LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ ${TEST_LAUNCHER} ./${PROG_NOINST}; EXIT=$$?; \ - rm -f libobjfw.so.1 libobjfw.so.1.0 libobjfw.dll libobjfw.dylib; \ + rm -f libobjfw.so.0 libobjfw.so.0.1 libobjfw.dll libobjfw.dylib; \ exit $$EXIT