From ceaa6439f95dd3743ac9fca740943a1c696b54eb Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Fri, 4 Nov 2011 22:12:36 +0000 Subject: [PATCH] packages/re: update to 0.3.0 (thanks to Alfred E. Heggestad) --- libs/re/Makefile | 31 ++-- libs/re/patches/100-re.mk.patch | 292 ++++++++++++++++++++++++++++++++ 2 files changed, 304 insertions(+), 19 deletions(-) create mode 100644 libs/re/patches/100-re.mk.patch diff --git a/libs/re/Makefile b/libs/re/Makefile index 13c0f27..9c20d0f 100644 --- a/libs/re/Makefile +++ b/libs/re/Makefile @@ -1,33 +1,31 @@ -# -# Makefile -# +# +# Copyright (C) 2010-2011 OpenWrt.org # Copyright (C) 2010 Alfred E. Heggestad # +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk PKG_NAME:=re -PKG_VERSION:=0.2.0 +PKG_VERSION:=0.3.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.creytiv.com/pub -PKG_MD5SUM:=0aa00762fbee7694b9e5844675f5c57d +PKG_MD5SUM:=1529ea90b141591504b30ac8d7c2af0e include $(INCLUDE_DIR)/package.mk define Package/libre SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+libopenssl +libpthread @BROKEN + DEPENDS:=+libopenssl +libpthread TITLE:=Generic library for real-time communications with async IO support URL:=http://www.creytiv.com/ endef -define Package/libre/description - Generic library for real-time communications with async IO support. -endef - TARGET_CFLAGS += $(FPIC) define Build/Compile @@ -40,6 +38,8 @@ define Build/Compile SYSROOT="$(TOOLCHAIN_DIR)" \ SYSROOT_ALT="$(STAGING_DIR)/usr" \ RELEASE=1 \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + OS=linux \ all install endef @@ -49,19 +49,12 @@ define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/re $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.{a,so*} $(1)/usr/lib/ -endef - -define Build/UninstallDev - rm -rf \ - $(STAGING_DIR)/usr/share/re \ - $(STAGING_DIR)/usr/include/re \ - $(STAGING_DIR)/usr/lib/libre.{a,so*} + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.{a,so} $(1)/usr/lib/ endef define Package/libre/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.so* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.so $(1)/usr/lib/ endef $(eval $(call BuildPackage,libre)) diff --git a/libs/re/patches/100-re.mk.patch b/libs/re/patches/100-re.mk.patch new file mode 100644 index 0000000..722ef42 --- /dev/null +++ b/libs/re/patches/100-re.mk.patch @@ -0,0 +1,292 @@ +--- /Users/alfredh/src/re-0.3.0/mk/re.mk 2011-08-30 13:07:12.000000000 +0200 ++++ re/mk/re.mk 2011-10-07 21:27:53.000000000 +0200 +@@ -5,34 +5,37 @@ + # + # Imported variables: + # +-# PROJECT Project name +-# VERSION Version number +-# CC Compiler +-# GCOV If non-empty, enable GNU Coverage testing +-# GPROF If non-empty, enable GNU Profiling +-# OPT_SPEED If non-empty, optimize for speed +-# OPT_SIZE If non-empty, optimize for size +-# USE_OPENSSL If non-empty, link to libssl library +-# USE_ZLIB If non-empty, link to libz library +-# SYSROOT System root of library and include files +-# SYSROOT_ALT Alternative system root of library and include files +-# EXTRA_CFLAGS Extra compiler flags appended to CFLAGS +-# EXTRA_LFLAGS Extra linker flags appended to LFLAGS ++# ARCH Target architecture ++# CC Compiler ++# CROSS_COMPILE Cross-compiler prefix (optional) ++# EXTRA_CFLAGS Extra compiler flags appended to CFLAGS ++# EXTRA_LFLAGS Extra linker flags appended to LFLAGS ++# GCOV If non-empty, enable GNU Coverage testing ++# GPROF If non-empty, enable GNU Profiling ++# OPT_SIZE If non-empty, optimize for size ++# OPT_SPEED If non-empty, optimize for speed ++# PROJECT Project name ++# RELEASE Release build ++# SYSROOT System root of library and include files ++# SYSROOT_ALT Alternative system root of library and include files ++# USE_OPENSSL If non-empty, link to libssl library ++# USE_ZLIB If non-empty, link to libz library ++# VERSION Version number + # + # Exported variables: + # +-# CC Compiler +-# CCACHE Compiler ccache tool +-# CFLAGS Compiler flags +-# DFLAGS Dependency generator flags +-# LFLAGS Common linker flags +-# SH_LFLAGS Linker flags for shared libraries +-# MOD_LFLAGS Linker flags for dynamic modules +-# APP_LFLAGS Linker flags for applications using modules +-# LIBS Libraries to link against +-# LIB_SUFFIX Suffix for shared libraries +-# MOD_SUFFIX Suffix for dynamic modules +-# BIN_SUFFIX Suffix for binary executables ++# APP_LFLAGS Linker flags for applications using modules ++# BIN_SUFFIX Suffix for binary executables ++# CC Compiler ++# CCACHE Compiler ccache tool ++# CFLAGS Compiler flags ++# DFLAGS Dependency generator flags ++# LFLAGS Common linker flags ++# LIBS Libraries to link against ++# LIB_SUFFIX Suffix for shared libraries ++# MOD_LFLAGS Linker flags for dynamic modules ++# MOD_SUFFIX Suffix for dynamic modules ++# SH_LFLAGS Linker flags for shared libraries + # + + +@@ -177,65 +180,27 @@ + # + # OS section + # ++ + MACHINE := $(shell $(CC) -dumpmachine) +-OS := $(shell uname -s | sed -e s/SunOS/solaris/ | tr "[A-Z]" "[a-z]") +-#ARCH := $(shell echo $(MACHINE) | sed -e 's/\([^-]*\)-.*/\1/') + +-# TODO get ARCH from first tuple in CC -dumpmachine which is more future proof +-ifeq ($(MACHINE), i386-mingw32) +- OS := win32 +- ARCH := i386 +-endif +-ifeq ($(MACHINE), i486-mingw32) +- OS := win32 +- ARCH := i486 ++ifeq ($(CROSS_COMPILE),) ++OS := $(shell uname -s | sed -e s/SunOS/solaris/ | tr "[A-Z]" "[a-z]") + endif +-ifeq ($(MACHINE), i586-mingw32msvc) ++ ++ ++# ++# Try to guess the OS ++# ++ ++ifneq ($(strip $(filter i386-mingw32 i486-mingw32 i586-mingw32msvc mingw32, \ ++ $(MACHINE))),) + OS := win32 +- ARCH := i586 +-endif + ifeq ($(MACHINE), mingw32) +- OS := win32 +- ARCH := i386 + CROSS_COMPILE := + endif +-ifeq ($(MACHINE), i686-pc-cygwin) +- OS := cygwin +- ARCH := i686 +-endif +-ifeq ($(MACHINE), mipsel-linux-uclibc) +- OS := linux +- ARCH := mipsel +-endif +-ifeq ($(MACHINE), bfin-linux-uclibc) +- OS := linux +- ARCH := bfin +-endif +-ifeq ($(MACHINE), bfin-uclinux) +- OS := linux +- ARCH := bfin +-endif +-ifeq ($(MACHINE), arm-apple-darwin) +- OS := darwin +- ARCH := arm +- CROSS_COMPILE ?= $(MACHINE)- +- CFLAGS += -F/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks +-endif +-ifeq ($(MACHINE), arm-apple-darwin9) +- OS := darwin +- ARCH := arm +- CROSS_COMPILE ?= $(MACHINE)- +- ROOT := /Developer//Platforms/iPhoneOS.platform/Developer +- SDK := $(ROOT)/SDKs/iPhoneOS3.0.sdk +- CFLAGS += -F$(SDK)/System/Library/Frameworks/ +- CFLAGS += -I$(SDK)/usr/include +- CFLAGS += -I$(SDK)/usr/lib/gcc/arm-apple-darwin9/4.2.1/include +- CFLAGS += -isysroot $(SDK) +- LFLAGS += -F$(SDK)/System/Library/Frameworks +- LFLAGS += -L$(SDK)/usr/lib +- LFLAGS += -L$(SDK)/usr/lib/gcc/arm-apple-darwin9/4.2.1/ + endif + ++ + # default + LIB_SUFFIX := .so + MOD_SUFFIX := .so +@@ -276,8 +241,6 @@ + AR := ar + AFLAGS := cru + LIB_SUFFIX := .dylib +- ARCH := $(shell echo $(MACHINE) | \ +- sed -e 's/\([^-]*\)-.*/\1/') + endif + ifeq ($(OS),netbsd) + CFLAGS += -fPIC -DNETBSD +@@ -347,30 +310,121 @@ + endif + + ++ifeq ($(OS),) ++$(warning Could not detect OS) ++endif ++ ++ + ############################################################################## + # + # Architecture section + # ++# detect $(HOST_ARCH) -- Host architecture ++# detect $(ARCH) -- Target architecture ++# ++ ++ ++# ++# detect $(HOST_ARCH) ++# + + ifeq ($(OS),solaris) ++ GETARCH=isainfo -n ++ifeq ($(GETARCH),) + GETARCH=uname -p ++endif + else + GETARCH=uname -m + endif + ++HOST_ARCH := $(shell $(GETARCH) |sed -e s/i.86/i386/ -e s/sun4[uv]/sparc64/ \ ++ -e s/armv[3-5].*/arm/ -e s/armv6.*/arm6/ \ ++ -e "s/Power Macintosh/ppc/" \ ++ -e "s/cobalt/mips2/" \ ++ -e s/amd64/x86_64/ -e s/sparcv9/sparc64/ ) ++ ++ifeq ($(HOST_ARCH),sparc) ++ifeq ($(shell uname -m),sun4u) ++ HOST_ARCH := sparc64 ++endif ++ifeq ($(shell uname -m),sun4v) ++ HOST_ARCH := sparc64 ++endif ++endif ++ ++ ++# ++# detect $(ARCH) ++# ++ + ifeq ($(ARCH),) +-ARCH := $(shell $(GETARCH) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ +- -e s/armv4l/arm/ -e "s/Power Macintosh/ppc/" \ +- -e "s/cobalt/mips2/" \ +- -e s/amd64/x86_64/ ) +-endif +-# fix sparc -> sparc64 +-ifeq ($(ARCH),sparc) +- ifeq ($(shell uname -m),sun4u) +- ARCH := sparc64 +- endif ++ifeq ($(CC_NAME),gcc) ++PREDEF := $(shell $(CC) -dM -E -x c $(EXTRA_CFLAGS) $(CFLAGS) /dev/null) ++ ++ifneq ($(strip $(filter i386 __i386__ __i386 _M_IX86 __X86__ _X86_, \ ++ $(PREDEF))),) ++ARCH := i386 + endif + ++ifneq ($(strip $(filter __i486__,$(PREDEF))),) ++ARCH := i486 ++endif ++ ++ifneq ($(strip $(filter __i586__,$(PREDEF))),) ++ARCH := i586 ++endif ++ ++ifneq ($(strip $(filter __i686__ ,$(PREDEF))),) ++ARCH := i686 ++endif ++ ++ifneq ($(strip $(filter __amd64__ __amd64 __x86_64__ __x86_64, \ ++ $(PREDEF))),) ++ARCH := x86_64 ++endif ++ ++ifneq ($(strip $(filter __arm__ __thumb__,$(PREDEF))),) ++ ++ifneq ($(strip $(filter __ARM_ARCH_6__,$(PREDEF))),) ++ARCH := arm6 ++else ++ARCH := arm ++endif ++ ++endif ++ ++ifneq ($(strip $(filter __mips__ __mips, $(PREDEF))),) ++ARCH := mips ++endif ++ ++ifneq ($(strip $(filter __powerpc __powerpc__ __POWERPC__ __ppc__ \ ++ _ARCH_PPC, $(PREDEF))),) ++ARCH := ppc ++endif ++ ++ifneq ($(strip $(filter __ppc64__ _ARCH_PPC64 , $(PREDEF))),) ++ARCH := ppc64 ++endif ++ ++ifneq ($(strip $(filter __sparc__ __sparc __sparcv8 , $(PREDEF))),) ++ ++ifneq ($(strip $(filter __sparcv9 __sparc_v9__ , $(PREDEF))),) ++ARCH := sparc64 ++else ++ARCH := sparc ++endif ++ ++endif ++ ++endif ++endif ++ ++ ++ifeq ($(ARCH),) ++$(warning Could not detect ARCH) ++endif ++ ++ + CFLAGS += -DARCH=\"$(ARCH)\" + + ifeq ($(ARCH),mipsel) +@@ -549,6 +603,7 @@ + @echo " MODULES: $(MODULES)" + # @echo " SRCS: $(SRCS)" + @echo " MACHINE: $(MACHINE)" ++ @echo " HOST_ARCH: $(HOST_ARCH)" + @echo " ARCH: $(ARCH)" + @echo " OS: $(OS)" + @echo " BUILD: $(BUILD)" -- 2.30.2