packages/re: update to 0.3.0 (thanks to Alfred E. Heggestad)

git-svn-id: svn://svn.openwrt.org/openwrt/packages@28754 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nico 2011-11-04 22:12:36 +00:00
parent a75a78b7a9
commit 837e06b3fc
2 changed files with 304 additions and 19 deletions

View File

@ -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))

View File

@ -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)"