summaryrefslogtreecommitdiffstats
path: root/recipes-extended
diff options
context:
space:
mode:
authorXin Ouyang <Xin.Ouyang@windriver.com>2012-02-22 16:35:36 +0800
committerXin Ouyang <Xin.Ouyang@windriver.com>2012-02-22 16:35:36 +0800
commit8534bc56a9ed7f77041310164f076ec816c8bf8b (patch)
treef326650beb84c7866f2cbcadaf8572c8c55474fe /recipes-extended
parent6fbf5e8eb7b027760018983dc46716c815a79e2d (diff)
downloadmeta-selinux-8534bc56a9ed7f77041310164f076ec816c8bf8b.tar.gz
ustr: Move ustr to recipes-extended.
Diffstat (limited to 'recipes-extended')
-rw-r--r--recipes-extended/ustr/ustr/ustr-fix__va_copy-not-defined.patch26
-rw-r--r--recipes-extended/ustr/ustr/ustr-makefile-fix.patch215
-rw-r--r--recipes-extended/ustr/ustr_1.0.4.bb54
3 files changed, 295 insertions, 0 deletions
diff --git a/recipes-extended/ustr/ustr/ustr-fix__va_copy-not-defined.patch b/recipes-extended/ustr/ustr/ustr-fix__va_copy-not-defined.patch
new file mode 100644
index 0000000..cd5ef87
--- /dev/null
+++ b/recipes-extended/ustr/ustr/ustr-fix__va_copy-not-defined.patch
@@ -0,0 +1,26 @@
1From c35a8949e305666ffe7fdc89f7cf506c6e6821d0 Mon Sep 17 00:00:00 2001
2From: Xin Ouyang <Xin.Ouyang@windriver.com>
3Date: Fri, 3 Feb 2012 11:28:21 +0800
4Subject: [PATCH] Fix "__va_copy" not defined warning.
5
6ustr-compiler.h:19:16: warning: "__va_copy" is not defined [-Wundef]
7---
8 ustr-compiler.h | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-)
10
11diff --git a/ustr-compiler.h b/ustr-compiler.h
12index 9e71276..642e6e8 100644
13--- a/ustr-compiler.h
14+++ b/ustr-compiler.h
15@@ -16,7 +16,7 @@
16 #ifdef va_copy
17 # define USTR_CONF_HAVE_VA_COPY 1
18 # define USTR__VA_COPY(x, y) va_copy(x, y)
19-#elif __va_copy
20+#elif defined(__va_copy)
21 # define USTR_CONF_HAVE_VA_COPY 1
22 # define USTR__VA_COPY(x, y) __va_copy(x, y)
23 #else
24--
251.7.5.4
26
diff --git a/recipes-extended/ustr/ustr/ustr-makefile-fix.patch b/recipes-extended/ustr/ustr/ustr-makefile-fix.patch
new file mode 100644
index 0000000..b07e746
--- /dev/null
+++ b/recipes-extended/ustr/ustr/ustr-makefile-fix.patch
@@ -0,0 +1,215 @@
1---
2 Makefile | 109 ++++++++++++++++++++++++++-------------------------------------
3 1 file changed, 46 insertions(+), 63 deletions(-)
4
5--- a/Makefile
6+++ b/Makefile
7@@ -7,35 +7,36 @@ VERS_FULL=$(VERS).4
8 VERS_BSO =1.0
9 VERS_ESONAME =1
10 VERS_ESO =$(VERS_ESONAME).0.4
11
12 DESTDIR =
13-prefix=/usr
14-datadir=$(prefix)/share
15-libdir=$(prefix)/lib
16-libexecdir=$(prefix)/libexec
17-bindir=$(prefix)/bin
18-includedir=$(prefix)/include
19-SHRDIR=$(datadir)/ustr-$(VERS_FULL)
20-DOCSHRDIR=$(datadir)/doc/ustr-devel-$(VERS_FULL)
21-EXAMDIR=$(SHRDIR)/examples
22-mandir=$(datadir)/doc/man
23-MBINDIR=$(libexecdir)/ustr-$(VERS_FULL)
24+prefix ?= /usr
25+datadir ?= $(prefix)/share
26+libdir ?= $(prefix)/lib
27+libexecdir ?= $(prefix)/libexec
28+bindir ?= $(prefix)/bin
29+includedir ?= $(prefix)/include
30+SHRDIR ?= $(datadir)/ustr-$(VERS_FULL)
31+DOCSHRDIR ?= $(datadir)/doc/ustr-devel-$(VERS_FULL)
32+EXAMDIR ?= $(SHRDIR)/examples
33+mandir ?=$(datadir)/doc/man
34+MBINDIR ?=$(libexecdir)/ustr-$(VERS_FULL)
35
36 ###############################################################################
37 # This is here to work around the "Fedora build system requirement" that a big
38 # pile of crap ends up in the build.log file even though all sane people don't
39 # want that. See rhbz#248231
40 ###############################################################################
41-HIDE=@
42+#HIDE=@
43
44-CC = cc
45-AR = ar
46-RANLIB = ranlib
47-LDCONFIG = /sbin/ldconfig
48+vsnp ?= 0
49+CC ?= cc
50+AR ?= ar
51+RANLIB ?= ranlib
52+LDCONFIG ?= /sbin/ldconfig
53
54-CFLAGS = -O2 -g
55+CFLAGS ?= -O2 -g
56
57 # Debug versions...
58 WARNS = -W -Wall -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-format-zero-length -Wformat-nonliteral -Wformat-security # -Wfloat-equal -- no floats
59 # Fedora policies/"reviewers" are completely retarded and refuse to allow
60 # lowering the "Fedora build flags" even when it activley hurts their users,
61@@ -386,48 +387,46 @@ install: all-shared ustr.pc ustr-debug.p
62 install -d $(DESTDIR)$(mandir)/man1
63 install -d $(DESTDIR)$(mandir)/man3
64 install -d $(DESTDIR)$(bindir)
65 install -d $(DESTDIR)$(libdir)/pkgconfig
66 $(HIDE)echo Installing files
67- install -m 644 -t $(DESTDIR)$(libdir) $(LIB_STATIC)
68- install -m 755 -t $(DESTDIR)$(libdir) $(LIB_SHARED)
69+ install -m 644 $(LIB_STATIC) $(DESTDIR)$(libdir)
70+ install -m 755 $(LIB_SHARED) $(DESTDIR)$(libdir)
71 -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME)
72 ln -s $(OPT_LIB_SHARED) $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME)
73 -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV)
74 ln -s $(OPT_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV)
75 -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME)
76 ln -s $(DBG_LIB_SHARED) $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME)
77 -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV)
78 ln -s $(DBG_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV)
79 $(LDCONFIG) -n $(DESTDIR)$(libdir)
80- install -pm 644 -t $(DESTDIR)$(includedir) $(SRC_HDRS)
81- install -pm 644 -t $(DESTDIR)$(SHRDIR) $(SRC_SRCS)
82- install -pm 644 -t $(DESTDIR)$(SHRDIR) $(XSRC_SRCS)
83- install -pm 644 -t $(DESTDIR)$(DOCSHRDIR) $(DOCS)
84- install -pm 644 -t $(DESTDIR)$(EXAMDIR) $(EXAMPLES)
85- install -pm 644 -t $(DESTDIR)$(mandir)/man1 $(MAN_PAGES_1)
86- install -pm 644 -t $(DESTDIR)$(mandir)/man3 $(MAN_PAGES_3)
87- install -m 755 -t $(DESTDIR)$(bindir) ustr-import
88- install -pm 644 -t $(DESTDIR)$(libdir)/pkgconfig ustr.pc ustr-debug.pc
89+ install -pm 644 $(SRC_HDRS) $(DESTDIR)$(includedir)
90+ install -pm 644 $(SRC_SRCS) $(DESTDIR)$(SHRDIR)
91+ install -pm 644 $(XSRC_SRCS) $(DESTDIR)$(SHRDIR)
92+ install -pm 644 $(DOCS) $(DESTDIR)$(DOCSHRDIR)
93+ install -pm 644 $(EXAMPLES) $(DESTDIR)$(EXAMDIR)
94+ install -pm 644 $(MAN_PAGES_1) $(DESTDIR)$(mandir)/man1
95+ install -pm 644 $(MAN_PAGES_3) $(DESTDIR)$(mandir)/man3
96+ install -m 755 ustr-import $(DESTDIR)$(bindir)
97+ install -pm 644 ustr.pc ustr-debug.pc $(DESTDIR)$(libdir)/pkgconfig
98
99 ustr-import-multilib: ustr-import-multilib.in
100 sed -e 's,@INCLUDEDIR@,$(includedir),g' -e 's,@MBINDIR@,$(MBINDIR),g' < $< > $@
101
102-install-multilib-linux: install autoconf_64b ustr-import-multilib
103+install-multilib-linux: install ustr-import-multilib
104 install -d $(DESTDIR)$(MBINDIR)
105- $(HIDE)mlib=`./autoconf_64b`; \
106- if test "x$$mlib" = "x1"; then mlib=64; else mlib=32; fi; \
107- mv -f $(DESTDIR)$(includedir)/ustr-conf-debug.h \
108- $(DESTDIR)$(includedir)/ustr-conf-debug-$$mlib.h; \
109+ mv -f $(DESTDIR)$(includedir)/ustr-conf-debug.h \
110+ $(DESTDIR)$(includedir)/ustr-conf-debug-$(mlib).h; \
111 mv -f $(DESTDIR)$(includedir)/ustr-conf.h \
112- $(DESTDIR)$(includedir)/ustr-conf-$$mlib.h; \
113+ $(DESTDIR)$(includedir)/ustr-conf-$(mlib).h; \
114 mv -f $(DESTDIR)$(bindir)/ustr-import \
115- $(DESTDIR)$(MBINDIR)/ustr-import-$$mlib
116- install -m 644 -t $(DESTDIR)$(includedir) $(SRC_HDRS_MULTI_LIB)
117+ $(DESTDIR)$(MBINDIR)/ustr-import-$(mlib)
118+ install -m 644 $(SRC_HDRS_MULTI_LIB) $(DESTDIR)$(includedir)
119 $(HIDE)mv -f $(DESTDIR)$(includedir)/ustr-conf-debug-multilib-linux.h $(DESTDIR)$(includedir)/ustr-conf-debug.h
120 $(HIDE)mv -f $(DESTDIR)$(includedir)/ustr-conf-multilib-linux.h $(DESTDIR)$(includedir)/ustr-conf.h
121- install -m 755 -t $(DESTDIR)$(bindir) ustr-import-multilib
122+ install -m 755 ustr-import-multilib $(DESTDIR)$(bindir)
123 $(HIDE)mv -f $(DESTDIR)$(bindir)/ustr-import-multilib $(DESTDIR)$(bindir)/ustr-import
124 $(HIDE)touch --reference ustr-conf-multilib-linux.h $(DESTDIR)$(includedir)/ustr-conf.h
125 $(HIDE)touch --reference ustr-conf-debug-multilib-linux.h $(DESTDIR)$(includedir)/ustr-conf-debug.h
126 $(HIDE)touch --reference ustr-import-multilib.in $(DESTDIR)$(bindir)/ustr-import
127
128@@ -442,31 +441,20 @@ clean:
129 $(HIDE)rm -f tst_*.c ctst_*.c otst_*.c octst_*.c
130 $(HIDE)rm -f ustr-import-multilib
131
132 distclean: clean
133 rm -f ustr-import
134- rm -f autoconf_64b autoconf_vsnprintf
135 rm -f ustr-conf.h ustr-conf-debug.h
136 rm -rf lcov-output
137
138
139-ustr-import: ustr-import.in autoconf_64b autoconf_vsnprintf
140+ustr-import: ustr-import.in
141 $(HIDE)echo Creating $@
142- $(HIDE)sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \
143- sed -e 's,@INCLUDEDIR@,$(includedir),g' -e 's,@SHRDIR@,$(SHRDIR),g' -e 's,@VERS@,$(VERS),g' -e 's,@VERS_FULL@,$(VERS_FULL),g' -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$$vsnp,g" < $< > $@
144+ $(HIDE)if test "$(mlib)" = "64" ; then sz64=1; else sz64=0; fi; \
145+ sed -e 's,@INCLUDEDIR@,$(includedir),g' -e 's,@SHRDIR@,$(SHRDIR),g' -e 's,@VERS@,$(VERS),g' -e 's,@VERS_FULL@,$(VERS_FULL),g' -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$(vsnp),g" < $< > $@
146 $(HIDE)chmod 755 $@
147
148-# Use CFLAGS so that CFLAGS="... -m32" does the right thing
149-autoconf_64b: autoconf_64b.c
150- $(HIDE)echo Compiling: auto configuration test: 64bit
151- $(HIDE)$(CC) $(CFLAGS) -o $@ $<
152-
153-autoconf_vsnprintf: autoconf_vsnprintf.c
154- $(HIDE)echo Compiling: auto configuration test: vsnprintf
155- $(HIDE)$(CC) -o $@ $<
156-
157-# Use LDFLAGS for LDFLAGS="-m32"
158 $(OPT_LIB_SHARED): $(LIB_SHARED_OPT)
159 $(HIDE)echo Linking SO OPT lib: $@
160 $(HIDE)$(CC) -shared $^ -Wl,-soname -Wl,$(OPT_LIB_SHARED_NAME) -Wl,-version-script -Wl,libustr.ver $(LDFLAGS) -o $@
161
162 $(DBG_LIB_SHARED): $(LIB_SHARED_DBG)
163@@ -480,46 +468,40 @@ libustr.a: $(LIB_STATIC_OPT)
164 libustr-debug.a: $(LIB_STATIC_DBG)
165 $(HIDE)echo Linking A DBG lib: $@
166 $(HIDE)$(AR) ru $@ $^
167 $(HIDE)$(RANLIB) $@
168
169-ustr-conf.h: ustr-conf.h.in autoconf_64b autoconf_vsnprintf
170+ustr-conf.h: ustr-conf.h.in
171 $(HIDE)echo Creating $@
172 $(HIDE)have_stdint_h=0; dbg1=0; dbg2=0; \
173- sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \
174- if test -f "/usr/include/stdint.h"; then have_stdint_h=1; fi; \
175+ $(HIDE)if test "$(mlib)" = "64" ; then sz64=1; else sz64=0; fi; \
176 if test -f "$(prefix)/include/stdint.h"; then have_stdint_h=1; fi; \
177 if test -f "$(includedir)/stdint.h"; then have_stdint_h=1; fi; \
178- sed -e "s,@HAVE_STDINT_H@,$$have_stdint_h,g" -e "s,@USE_ASSERT@,$$dbg1,g" -e "s,@USE_EOS_MARK@,$$dbg2,g" -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$$vsnp,g" < $< > $@
179+ sed -e "s,@HAVE_STDINT_H@,$$have_stdint_h,g" -e "s,@USE_ASSERT@,$$dbg1,g" -e "s,@USE_EOS_MARK@,$$dbg2,g" -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$(vsnp),g" < $< > $@
180
181-ustr-conf-debug.h: ustr-conf.h.in autoconf_64b autoconf_vsnprintf
182+ustr-conf-debug.h: ustr-conf.h.in
183 $(HIDE)echo Creating $@
184 $(HIDE)have_stdint_h=0; dbg1=1; dbg2=1; \
185- sz64=`./autoconf_64b`; vsnp=`./autoconf_vsnprintf`; \
186- if test -f "/usr/include/stdint.h"; then have_stdint_h=1; fi; \
187+ $(HIDE)if test "$(mlib)" = "64" ; then sz64=1; else sz64=0; fi; \
188 if test -f "$(prefix)/include/stdint.h"; then have_stdint_h=1; fi; \
189 if test -f "$(includedir)/stdint.h"; then have_stdint_h=1; fi; \
190- sed -e "s,@HAVE_STDINT_H@,$$have_stdint_h,g" -e "s,@USE_ASSERT@,$$dbg1,g" -e "s,@USE_EOS_MARK@,$$dbg2,g" -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$$vsnp,g" < $< > $@
191+ sed -e "s,@HAVE_STDINT_H@,$$have_stdint_h,g" -e "s,@USE_ASSERT@,$$dbg1,g" -e "s,@USE_EOS_MARK@,$$dbg2,g" -e "s,@HAVE_64bit_SIZE_MAX@,$$sz64,g" -e "s,@HAVE_RETARDED_VSNPRINTF@,$(vsnp),g" < $< > $@
192
193
194 # We don't use $(DEPS_NONC_ALL) as deps. because it then recompiles everything
195 # too much, and we care about speed more. Do make clean to "fix".
196 # Yes, scons fixes this.
197 %-code-so-opt.o: %-opt-code.c %-code.h %.h $(DEPS_C_ALL)
198- $(HIDE)echo Compiling for SO OPT lib: $<
199 $(HIDE)$(CC) $(CFLAGS) -fPIC $(CFLG_LIB_OPT) -o $@ -c $<
200
201 %-code-so-dbg.o: %-dbg-code.c %-code.h %.h $(DEPS_C_ALL)
202- $(HIDE)echo Compiling for SO DBG lib: $<
203 $(HIDE)$(CC) $(DBG_CFLAGS) -fPIC $(CFLG_LIB_DBG) -o $@ -c $<
204
205 %-code-a-opt.o: %-opt-code.c %-code.h %.h $(DEPS_C_ALL)
206- $(HIDE)echo Compiling for A OPT lib: $<
207 $(HIDE)$(CC) $(CFLAGS) $(CFLG_LIB_OPT) -o $@ -c $<
208
209 %-code-a-dbg.o: %-dbg-code.c %-code.h %.h $(DEPS_C_ALL)
210- $(HIDE)echo Compiling for A DBG lib: $<
211 $(HIDE)$(CC) $(DBG_CFLAGS) $(CFLG_LIB_DBG) -o $@ -c $<
212
213
214 perf-sizes: perf-sizes.c $(OBJS_C_OPT_ALL)
215 $(CC) $(WARNS) -O2 -g $(LDFLAGS) -o $@ $^
diff --git a/recipes-extended/ustr/ustr_1.0.4.bb b/recipes-extended/ustr/ustr_1.0.4.bb
new file mode 100644
index 0000000..e2b45b1
--- /dev/null
+++ b/recipes-extended/ustr/ustr_1.0.4.bb
@@ -0,0 +1,54 @@
1SUMMARY = "Micro String API - for C"
2DESCRIPTION = "Micro string library, very low overhead from plain strdup() (Ave. 44% for \
30-20B strings). Very easy to use in existing C code. At it's simplest you can \
4just include a single header file into your .c and start using it."
5
6SECTION = "base"
7PR = "r1"
8LICENSE = "MIT | LGPLv2+ | BSD"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=c79c6e2ae13418d16d7dc82df960a1e7 \
10 file://LICENSE_BSD;md5=ceb504b0b6471e76cc9cb32cfb150f3c \
11 file://LICENSE_LGPL;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
12 file://LICENSE_MIT;md5=c61e779b782608472bd87593c3c3916f"
13
14SRC_URI = "http://www.and.org/ustr/1.0.4/ustr-1.0.4.tar.bz2 \
15 file://ustr-makefile-fix.patch;patch=1 \
16 file://ustr-fix__va_copy-not-defined.patch;patch=2"
17SRC_URI[md5sum] = "93147d9f0c9765d4cd0f04f7e44bdfce"
18SRC_URI[sha256sum] = "3daf6eae9f78de1e872c0b2b83cce35515b94d4bb8a074e48f331fd99e1fc2c4"
19
20inherit lib_package
21inherit siteinfo
22
23FILES_${PN} = "${libdir}/libustr-1.0.so.*"
24
25FILES_${PN}-dev += "${bindir}/ustr-import \
26 ${libexecdir}/ustr-${PV}/ustr-import-* \
27 ${datadir}/.gdb_init \
28 ${datadir}/ustr-${PV} \
29 ${mandir}"
30
31FILES_${PN}-dbg += "${libdir}/libustr-debug* \
32 ${libdir}/pkgconfig/*-debug.* \
33 ${base_libdir}/debug/${libdir}"
34
35EXTRA_OEMAKE_virtclass-native = "prefix=/usr"
36
37do_compile() {
38 oe_runmake all-shared
39}
40
41do_install() {
42 oe_runmake install-multilib-linux \
43 mlib=${SITEINFO_BITS} \
44 DESTDIR=${D} LDCONFIG=/bin/true
45 mkdir -p ${D}/${datadir}/doc/${PN}-${PV}
46 install ChangeLog ${D}/${datadir}/doc/${PN}-${PV}
47 install LICENSE* ${D}/${datadir}/doc/${PN}-${PV}
48 install README ${D}/${datadir}/doc/${PN}-${PV}
49 install NEWS ${D}/${datadir}/doc/${PN}-${PV}
50 mv ${D}/${docdir}/ustr-devel-${PV}/strdup\ vs.\ ustr.gnumeric \
51 ${D}/${docdir}/ustr-devel-${PV}/strdup_vs._ustr.gnumeric
52}
53
54BBCLASSEXTEND = "native"