diff options
| -rw-r--r-- | recipes-core/javasqlite/files/0001-fix-errors-during-cross-compile.patch | 535 | ||||
| -rw-r--r-- | recipes-core/javasqlite/javasqlite_20150419.bb | 42 |
2 files changed, 577 insertions, 0 deletions
diff --git a/recipes-core/javasqlite/files/0001-fix-errors-during-cross-compile.patch b/recipes-core/javasqlite/files/0001-fix-errors-during-cross-compile.patch new file mode 100644 index 0000000..fc0da70 --- /dev/null +++ b/recipes-core/javasqlite/files/0001-fix-errors-during-cross-compile.patch | |||
| @@ -0,0 +1,535 @@ | |||
| 1 | From 7714a4c0e589f8b654e1270575512555ea4ad6c7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Feng Mu <Feng.Mu@windriver.com> | ||
| 3 | Date: Fri, 27 May 2016 16:44:33 +0800 | ||
| 4 | Subject: [PATCH] fix errors during cross compile | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [embedded specific] | ||
| 7 | |||
| 8 | Signed-off-by: Feng Mu <Feng.Mu@windriver.com> | ||
| 9 | --- | ||
| 10 | Makefile.in | 56 +++++++-- | ||
| 11 | configure.in | 382 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- | ||
| 12 | 2 files changed, 423 insertions(+), 14 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/Makefile.in b/Makefile.in | ||
| 15 | index aa46b24..c0fd87f 100644 | ||
| 16 | --- a/Makefile.in | ||
| 17 | +++ b/Makefile.in | ||
| 18 | @@ -5,9 +5,13 @@ CC = @CC@ | ||
| 19 | HOSTCC = @HOSTCC@ | ||
| 20 | LIBTOOL = ./libtool | ||
| 21 | SQLITE_INC = @SQLITE_INC@ | ||
| 22 | +SQLITE_TARGET_INC = @SQLITE_TARGET_INC@ | ||
| 23 | SQLITE_LIB = @SQLITE_LIB@ | ||
| 24 | +SQLITE_TARGET_LIB = @SQLITE_TARGET_LIB@ | ||
| 25 | SQLITE3_INC = @SQLITE3_INC@ | ||
| 26 | +SQLITE3_TARGET_INC = @SQLITE3_TARGET_INC@ | ||
| 27 | SQLITE3_LIB = @SQLITE3_LIB@ | ||
| 28 | +SQLITE3_TARGET_LIB = @SQLITE3_TARGET_LIB@ | ||
| 29 | SQLITE3_A10N_C = @SQLITE3_A10N_C@ | ||
| 30 | SQLITE3_A10N_O = @SQLITE3_A10N_O@ | ||
| 31 | JAVAH = @JAVAH@ | ||
| 32 | @@ -23,7 +27,7 @@ INSTALL = @INSTALL@ | ||
| 33 | JAR_DIR = @JAR_DIR@ | ||
| 34 | NATIVE_LIB_DIR = @NATIVE_LIB_DIR@ | ||
| 35 | |||
| 36 | -CFLAGS= $(JNIINCLUDE) $(SQLITE_INC) $(SQLITE3_INC) \ | ||
| 37 | +CFLAGS_HOST= $(JNIINCLUDE) $(SQLITE_INC) $(SQLITE3_INC) \ | ||
| 38 | -DHAVE_SQLITE2=@HAVE_SQLITE2@ -DHAVE_SQLITE3=@HAVE_SQLITE3@ \ | ||
| 39 | -DHAVE_SQLITE_FUNCTION_TYPE=@HAVE_SQLITE_FUNCTION_TYPE@ \ | ||
| 40 | -DHAVE_SQLITE_OPEN_AUX_FILE=@HAVE_SQLITE_OPEN_AUX_FILE@ \ | ||
| 41 | @@ -53,9 +57,43 @@ CFLAGS= $(JNIINCLUDE) $(SQLITE_INC) $(SQLITE3_INC) \ | ||
| 42 | -DHAVE_SQLITE3_STATUS=@HAVE_SQLITE3_STATUS@ \ | ||
| 43 | -DHAVE_SQLITE3_DB_STATUS=@HAVE_SQLITE3_DB_STATUS@ \ | ||
| 44 | -DHAVE_SQLITE3_STMT_STATUS=@HAVE_SQLITE3_STMT_STATUS@ \ | ||
| 45 | - @VALIST_FLAGS@ @CFLAGS@ @SQLITE3_A10N_FLAGS@ | ||
| 46 | + @VALIST_FLAGS@ @SQLITE3_A10N_FLAGS@ | ||
| 47 | + | ||
| 48 | +LIBS_HOST= @SQLITE_LIB@ @SQLITE3_LIB@ @LDFLAGS@ | ||
| 49 | + | ||
| 50 | +CFLAGS_TARGET= $(JNIINCLUDE) $(SQLITE_TARGET_INC) $(SQLITE3_INC) \ | ||
| 51 | + -DHAVE_SQLITE2_TARGET=@HAVE_SQLITE2_TARGET@ -DHAVE_SQLITE3=@HAVE_SQLITE3@ \ | ||
| 52 | + -DHAVE_SQLITE_TARGET_FUNCTION_TYPE=@HAVE_SQLITE_TARGET_FUNCTION_TYPE@ \ | ||
| 53 | + -DHAVE_SQLITE_TARGET_OPEN_AUX_FILE=@HAVE_SQLITE_TARGET_OPEN_AUX_FILE@ \ | ||
| 54 | + -DHAVE_SQLITE_TARGET_SET_AUTHORIZER=@HAVE_SQLITE_TARGET_SET_AUTHORIZER@ \ | ||
| 55 | + -DHAVE_SQLITE_TARGET_TRACE=@HAVE_SQLITE_TARGET_TRACE@ \ | ||
| 56 | + -DHAVE_SQLITE_TARGET_COMPILE=@HAVE_SQLITE_TARGET_COMPILE@ \ | ||
| 57 | + -DHAVE_SQLITE_TARGET_PROGRESS_HANDLER=@HAVE_SQLITE_TARGET_PROGRESS_HANDLER@ \ | ||
| 58 | + -DHAVE_SQLITE3_MALLOC=@HAVE_SQLITE3_MALLOC@ \ | ||
| 59 | + -DHAVE_SQLITE3_PREPARE_V2=@HAVE_SQLITE3_PREPARE_V2@ \ | ||
| 60 | + -DHAVE_SQLITE3_PREPARE16_V2=@HAVE_SQLITE3_PREPARE16_V2@ \ | ||
| 61 | + -DHAVE_SQLITE3_BIND_ZEROBLOB=@HAVE_SQLITE3_BIND_ZEROBLOB@ \ | ||
| 62 | + -DHAVE_SQLITE3_CLEAR_BINDINGS=@HAVE_SQLITE3_CLEAR_BINDINGS@ \ | ||
| 63 | + -DHAVE_SQLITE3_COLUMN_TABLE_NAME16=@HAVE_SQLITE3_COLUMN_TABLE_NAME16@ \ | ||
| 64 | + -DHAVE_SQLITE3_COLUMN_DATABASE_NAME16=@HAVE_SQLITE3_COLUMN_DATABASE_NAME16@ \ | ||
| 65 | + -DHAVE_SQLITE3_COLUMN_ORIGIN_NAME16=@HAVE_SQLITE3_COLUMN_ORIGIN_NAME16@ \ | ||
| 66 | + -DHAVE_SQLITE3_BIND_PARAMETER_COUNT=@HAVE_SQLITE3_BIND_PARAMETER_COUNT@ \ | ||
| 67 | + -DHAVE_SQLITE3_BIND_PARAMETER_NAME=@HAVE_SQLITE3_BIND_PARAMETER_NAME@ \ | ||
| 68 | + -DHAVE_SQLITE3_BIND_PARAMETER_INDEX=@HAVE_SQLITE3_BIND_PARAMETER_INDEX@ \ | ||
| 69 | + -DHAVE_SQLITE3_RESULT_ZEROBLOB=@HAVE_SQLITE3_RESULT_ZEROBLOB@ \ | ||
| 70 | + -DHAVE_SQLITE3_INCRBLOBIO=@HAVE_SQLITE3_INCRBLOBIO@ \ | ||
| 71 | + -DHAVE_SQLITE3_KEY=@HAVE_SQLITE3_KEY@ \ | ||
| 72 | + -DHAVE_SQLITE3_SHARED_CACHE=@HAVE_SQLITE3_SHARED_CACHE@ \ | ||
| 73 | + -DHAVE_SQLITE3_OPEN_V2=@HAVE_SQLITE3_OPEN_V2@ \ | ||
| 74 | + -DHAVE_SQLITE3_LOAD_EXTENSION=@HAVE_SQLITE3_LOAD_EXTENSION@ \ | ||
| 75 | + -DHAVE_SQLITE3_BACKUPAPI=@HAVE_SQLITE3_BACKUPAPI@ \ | ||
| 76 | + -DHAVE_SQLITE3_PROFILE=@HAVE_SQLITE3_PROFILE@ \ | ||
| 77 | + -DHAVE_SQLITE3_STATUS=@HAVE_SQLITE3_STATUS@ \ | ||
| 78 | + -DHAVE_SQLITE3_DB_STATUS=@HAVE_SQLITE3_DB_STATUS@ \ | ||
| 79 | + -DHAVE_SQLITE3_STMT_STATUS=@HAVE_SQLITE3_STMT_STATUS@ \ | ||
| 80 | + @VALIST_FLAGS@ @SQLITE3_A10N_FLAGS@ | ||
| 81 | |||
| 82 | -LIBS= @SQLITE_LIB@ @SQLITE3_LIB@ @LDFLAGS@ | ||
| 83 | +LIBS_TARGET= @SQLITE_TARGET_LIB@ @SQLITE3_TARGET_LIB@ @LDFLAGS@ | ||
| 84 | |||
| 85 | # Add new suffixes | ||
| 86 | .SUFFIXES: .java .class .lo .la .jar | ||
| 87 | @@ -170,20 +208,18 @@ native/sqlite_jni.h: SQLite/Database.class SQLite/Vm.class \ | ||
| 88 | SQLite.Profile | ||
| 89 | |||
| 90 | sqlite_jni.lo: native/sqlite_jni.h native/sqlite_jni.c | ||
| 91 | - $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) native/sqlite_jni.c | ||
| 92 | + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS_TARGET) native/sqlite_jni.c | ||
| 93 | |||
| 94 | $(SQLITE3_A10N_O): $(SQLITE3_A10N_C) | ||
| 95 | - $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(SQLITE3_A10N_C) | ||
| 96 | + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS_TARGET) $(SQLITE3_A10N_C) | ||
| 97 | |||
| 98 | libsqlite_jni.la: sqlite_jni.lo $(SQLITE3_A10N_O) | ||
| 99 | - $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libsqlite_jni.la \ | ||
| 100 | + $(LIBTOOL) --mode=link $(CC) $(CFLAGS_TARGET) -o libsqlite_jni.la \ | ||
| 101 | sqlite_jni.lo $(SQLITE3_A10N_O) -rpath $(NATIVE_LIB_DIR) \ | ||
| 102 | - -module -avoid-version $(LIBS) | ||
| 103 | + -module -avoid-version $(LIBS_TARGET) | ||
| 104 | |||
| 105 | native/mkconst: native/mkconst.c | ||
| 106 | - $(LIBTOOL) --mode=link $(HOSTCC) @HOST_CFLAGS@ $(SQLITE_INC) \ | ||
| 107 | - $(SQLITE3_INC) -DHAVE_SQLITE2=@HAVE_SQLITE2@ \ | ||
| 108 | - -DHAVE_SQLITE3=@HAVE_SQLITE3@ -o native/mkconst native/mkconst.c | ||
| 109 | + $(LIBTOOL) --mode=link $(HOSTCC) $(CFLAGS_HOST) -o native/mkconst native/mkconst.c | ||
| 110 | |||
| 111 | Makefile: Makefile.in configure config.status | ||
| 112 | ./config.status | ||
| 113 | diff --git a/configure.in b/configure.in | ||
| 114 | index c620bb6..61b3c2a 100644 | ||
| 115 | --- a/configure.in | ||
| 116 | +++ b/configure.in | ||
| 117 | @@ -32,7 +32,7 @@ if test "x$JAR_DIR" = "x" ; then | ||
| 118 | fi | ||
| 119 | |||
| 120 | ########## | ||
| 121 | -# Find SQLite header file and library | ||
| 122 | +# Find SQLite header file and library on host sysroot | ||
| 123 | # | ||
| 124 | AC_ARG_WITH(sqlite, [ --with-sqlite=DIR use SQLite header/lib from DIR], | ||
| 125 | SQLITE_DIR=$withval) | ||
| 126 | @@ -148,7 +148,122 @@ AC_SUBST(HAVE_SQLITE_COMPILE) | ||
| 127 | AC_SUBST(HAVE_SQLITE_PROGRESS_HANDLER) | ||
| 128 | |||
| 129 | ########## | ||
| 130 | -# Find SQLite3 header file and library | ||
| 131 | +# Find SQLite header file and library on target sysroot | ||
| 132 | +# | ||
| 133 | +AC_ARG_WITH(sqlite-target, [ --with-sqlite-target=DIR use target sysroot SQLite header/lib from DIR], | ||
| 134 | + SQLITE_TARGET_DIR=$withval) | ||
| 135 | +if test ! -n "$SQLITE_TARGET_DIR" -a -d "$SQLITE_TARGET_DIR" ; then | ||
| 136 | + AC_MSG_WARN([SQLite2-target directory $SQLITE_TARGET_DIR does not exist]) | ||
| 137 | +fi | ||
| 138 | + | ||
| 139 | +SQLITE_TARGET_INC="" | ||
| 140 | +SQLITE_TARGET_LIB="" | ||
| 141 | +HAVE_SQLITE2_TARGET=0 | ||
| 142 | + | ||
| 143 | +if test "$with_sqlite-target" != "no" ; then | ||
| 144 | + if test -z "$SQLITE_TARGET_DIR" ; then | ||
| 145 | + SQLITE_TARGET_DIR="../sqlite /usr /usr/local /opt" | ||
| 146 | + fi | ||
| 147 | + AC_MSG_CHECKING([for SQlite header and library]) | ||
| 148 | + SQLITE_TARGET_INC=UNKNOWN | ||
| 149 | + SQLITE_TARGET_LIB=UNKNOWN | ||
| 150 | + for i in $SQLITE_TARGET_DIR ; do | ||
| 151 | + if test -r $i/sqlite.h ; then | ||
| 152 | + if test -r $i/libsqlite.la ; then | ||
| 153 | + SQLITE_TARGET_INC="-I$i" | ||
| 154 | + SQLITE_TARGET_LIB="$i/libsqlite.la" | ||
| 155 | + SQLITE_TARGET_LIBDIR="-L$i" | ||
| 156 | + break | ||
| 157 | + elif test -r $i/libsqlite.a ; then | ||
| 158 | + SQLITE_TARGET_INC="-I$i" | ||
| 159 | + SQLITE_TARGET_LIB="$i/libsqlite.a" | ||
| 160 | + SQLITE_TARGET_LIBDIR="-L$i" | ||
| 161 | + break | ||
| 162 | + fi | ||
| 163 | + elif test -r $i/include/sqlite.h ; then | ||
| 164 | + for lib in lib64 lib ; do | ||
| 165 | + if test -r $i/$lib/libsqlite.la ; then | ||
| 166 | + SQLITE_TARGET_INC="-I$i/include" | ||
| 167 | + SQLITE_TARGET_LIB="$i/$lib/libsqlite.la" | ||
| 168 | + SQLITE_TARGET_LIBDIR="-L$i/$lib" | ||
| 169 | + break | ||
| 170 | + elif test -r $i/$lib/libsqlite.a ; then | ||
| 171 | + SQLITE_TARGET_INC="-I$i/include" | ||
| 172 | + SQLITE_TARGET_LIB="$i/$lib/libsqlite.a" | ||
| 173 | + SQLITE_TARGET_LIBDIR="-L$i/$lib" | ||
| 174 | + break | ||
| 175 | + elif test -r $i/$lib/libsqlite.so ; then | ||
| 176 | + SQLITE_TARGET_INC="-I$i/include" | ||
| 177 | + SQLITE_TARGET_LIB="-lsqlite" | ||
| 178 | + SQLITE_TARGET_LIBDIR="-L$i/$lib" | ||
| 179 | + break | ||
| 180 | + fi | ||
| 181 | + done | ||
| 182 | + if test "$SQLITE_TARGET_LIB" != "UNKNOWN" ; then | ||
| 183 | + break | ||
| 184 | + fi | ||
| 185 | + fi | ||
| 186 | + done | ||
| 187 | + if test "$SQLITE_TARGET_LIB" = "UNKNOWN" ; then | ||
| 188 | + lib=`pkg-config sqlite --libs 2>/dev/null` | ||
| 189 | + if test -n "$lib" ; then | ||
| 190 | + SQLITE_TARGET_INC=`pkg-config sqlite --cflags-only-I` | ||
| 191 | + SQLITE_TARGET_LIB="$lib" | ||
| 192 | + SQLITE_TARGET_LIBDIR=`pkg-config sqlite --libs-only-L` | ||
| 193 | + fi | ||
| 194 | + fi | ||
| 195 | + if test "$SQLITE_TARGET_INC" = "UNKNOWN" -o "$SQLITE_TARGET_LIB" = "UNKNOWN" ; then | ||
| 196 | + AC_MSG_RESULT(no) | ||
| 197 | + AC_MSG_WARN(SQLite2 header files and/or library not found on target sysroot) | ||
| 198 | + SQLITE_TARGET_INC="" | ||
| 199 | + SQLITE_TARGET_LIB="" | ||
| 200 | + HAVE_SQLITE2_TARGET=0 | ||
| 201 | + else | ||
| 202 | + HAVE_SQLITE2_TARGET=1 | ||
| 203 | + AC_MSG_RESULT(yes) | ||
| 204 | + fi | ||
| 205 | +fi | ||
| 206 | +AC_SUBST(SQLITE_TARGET_INC) | ||
| 207 | +AC_SUBST(SQLITE_TARGET_LIB) | ||
| 208 | +AC_SUBST(HAVE_SQLITE2_TARGET) | ||
| 209 | + | ||
| 210 | +########## | ||
| 211 | +# Check SQLite-TARGET features | ||
| 212 | +# | ||
| 213 | +HAVE_SQLITE_TARGET_FUNCTION_TYPE=0 | ||
| 214 | +HAVE_SQLITE_TARGET_OPEN_AUX_FILE=0 | ||
| 215 | +HAVE_SQLITE_TARGET_SET_AUTHORIZER=0 | ||
| 216 | +HAVE_SQLITE_TARGET_TRACE=0 | ||
| 217 | +HAVE_SQLITE_TARGET_COMPILE=0 | ||
| 218 | +HAVE_SQLITE_TARGET_PROGRESS_HANDLER=0 | ||
| 219 | +if test "$HAVE_SQLITE2_TARGET" = 1 ; then | ||
| 220 | + saved_CFLAGS=$CFLAGS | ||
| 221 | + CFLAGS="$CFLAGS $SQLITE_TARGET_INC" | ||
| 222 | + saved_LIBS=$LIBS | ||
| 223 | + LIBS="$LIBS $SQLITE_TARGET_LIBDIR" | ||
| 224 | + AC_CHECK_LIB(sqlite,sqlite_function_type, | ||
| 225 | + HAVE_SQLITE_FUNCTION_TYPE=1,HAVE_SQLITE_FUNCTION_TYPE=0) | ||
| 226 | + AC_CHECK_LIB(sqlite,sqlite_open_aux_file, | ||
| 227 | + HAVE_SQLITE_OPEN_AUX_FILE=1,HAVE_SQLITE_OPEN_AUX_FILE=0) | ||
| 228 | + AC_CHECK_LIB(sqlite,sqlite_set_authorizer, | ||
| 229 | + HAVE_SQLITE_SET_AUTHORIZER=1,HAVE_SQLITE_SET_AUTHORIZER=0) | ||
| 230 | + AC_CHECK_LIB(sqlite,sqlite_trace, | ||
| 231 | + HAVE_SQLITE_TRACE=1,HAVE_SQLITE_TRACE=0) | ||
| 232 | + AC_CHECK_LIB(sqlite,sqlite_compile, | ||
| 233 | + HAVE_SQLITE_COMPILE=1,HAVE_SQLITE_COMPILE=0) | ||
| 234 | + AC_CHECK_LIB(sqlite,sqlite_progress_handler, | ||
| 235 | + HAVE_SQLITE_PROGRESS_HANDLER=1,HAVE_SQLITE_PROGRESS_HANDLER=0) | ||
| 236 | + LIBS=$saved_LIBS | ||
| 237 | + CFLAGS=$saved_CFLAGS | ||
| 238 | +fi | ||
| 239 | +AC_SUBST(HAVE_SQLITE_TARGET_FUNCTION_TYPE) | ||
| 240 | +AC_SUBST(HAVE_SQLITE_TARGET_OPEN_AUX_FILE) | ||
| 241 | +AC_SUBST(HAVE_SQLITE_TARGET_SET_AUTHORIZER) | ||
| 242 | +AC_SUBST(HAVE_SQLITE_TARGET_TRACE) | ||
| 243 | +AC_SUBST(HAVE_SQLITE_TARGET_COMPILE) | ||
| 244 | +AC_SUBST(HAVE_SQLITE_TARGET_PROGRESS_HANDLER) | ||
| 245 | +########## | ||
| 246 | +# Find SQLite3 header file and library on host sysroot | ||
| 247 | # | ||
| 248 | AC_ARG_WITH(sqlite3, | ||
| 249 | [ --with-sqlite3=DIR use SQLite3 header/lib from DIR], | ||
| 250 | @@ -251,7 +366,7 @@ AC_SUBST(SQLITE3_LIB) | ||
| 251 | AC_SUBST(HAVE_SQLITE3) | ||
| 252 | |||
| 253 | ########## | ||
| 254 | -# Check SQLite3 features | ||
| 255 | +# Check SQLite3 features on host sysroot | ||
| 256 | # | ||
| 257 | AC_ARG_ENABLE(load-extension, | ||
| 258 | [ --enable-load-extension support for loading SQLite 3.x extensions. | ||
| 259 | @@ -402,6 +517,264 @@ AC_SUBST(SQLITE3_A10N_C) | ||
| 260 | AC_SUBST(SQLITE3_A10N_O) | ||
| 261 | AC_SUBST(SQLITE3_A10N_FLAGS) | ||
| 262 | |||
| 263 | + | ||
| 264 | +########## | ||
| 265 | +# Find SQLite3 header file and library on target sysroot | ||
| 266 | +# | ||
| 267 | +AC_ARG_WITH(sqlite3-target, | ||
| 268 | + [ --with-sqlite3-target=DIR use target sysroot SQLite3 header/lib from DIR], | ||
| 269 | + SQLITE3_TARGET_DIR=$withval) | ||
| 270 | +if test ! -n "$SQLITE3_TARGET_DIR" -a -d "$SQLITE3_TARGET_DIR" ; then | ||
| 271 | + AC_MSG_WARN([SQLite3 directory $SQLITE3_TARGET_DIR does not exist]) | ||
| 272 | +fi | ||
| 273 | + | ||
| 274 | +if test -z "$SQLITE3_TARGET_DIR" ; then | ||
| 275 | + SQLITE3_TARGET_DIR="../sqlite /usr /usr/local /opt" | ||
| 276 | +fi | ||
| 277 | + | ||
| 278 | +AC_MSG_CHECKING([for SQLite3 header and library]) | ||
| 279 | +SQLITE3_TARGET_INC=UNKNOWN | ||
| 280 | +SQLITE3_TARGET_LIB=UNKNOWN | ||
| 281 | +for i in $SQLITE3_TARGET_DIR ; do | ||
| 282 | + if test -r $i/sqlite3.h ; then | ||
| 283 | + if test -r $i/sqlite3.c ; then | ||
| 284 | + SQLITE3_TARGET_INC="-I$i" | ||
| 285 | + SQLITE3_TARGET_LIB="unknown" | ||
| 286 | + SQLITE3_TARGET_LIBDIR="" | ||
| 287 | + SQLITE3_A10N_C="$i/sqlite3.c" | ||
| 288 | + SQLITE3_A10N_O="sqlite3.lo" | ||
| 289 | + break | ||
| 290 | + elif test -r $i/libsqlite3.la ; then | ||
| 291 | + SQLITE3_TARGET_INC="-I$i" | ||
| 292 | + SQLITE3_TARGET_LIB="$i/libsqlite3.la" | ||
| 293 | + SQLITE3_TARGET_LIBDIR="-L$i" | ||
| 294 | + break | ||
| 295 | + elif test -r $i/libsqlite3.a ; then | ||
| 296 | + SQLITE3_TARGET_INC="-I$i" | ||
| 297 | + SQLITE3_TARGET_LIB="$i/libsqlite3.a" | ||
| 298 | + SQLITE3_TARGET_LIBDIR="-L$i" | ||
| 299 | + break | ||
| 300 | + elif test -r $i/see-sqlite3.c ; then | ||
| 301 | + SQLITE3_TARGET_INC="-I$i" | ||
| 302 | + SQLITE3_TARGET_LIB="unknown" | ||
| 303 | + SQLITE3_TARGET_LIBDIR="" | ||
| 304 | + SQLITE3_A10N_C="$i/see-sqlite3.c" | ||
| 305 | + SQLITE3_A10N_O="see-sqlite3.lo" | ||
| 306 | + SQLITE3_IS_BUILD_WITH_SEE="yes" | ||
| 307 | + HAVE_SQLITE3_KEY=1 | ||
| 308 | + break | ||
| 309 | + fi | ||
| 310 | + elif test -r $i/include/sqlite3.h ; then | ||
| 311 | + for lib in lib64 lib ; do | ||
| 312 | + if test -r $i/$lib/libsqlite3.la ; then | ||
| 313 | + SQLITE3_TARGET_INC="-I$i/include" | ||
| 314 | + SQLITE3_TARGET_LIB="$i/$lib/libsqlite3.la" | ||
| 315 | + SQLITE3_TARGET_LIBDIR="-L$i/$lib" | ||
| 316 | + break | ||
| 317 | + elif test -r $i/$lib/libsqlite3.a ; then | ||
| 318 | + SQLITE3_TARGET_INC="-I$i/include" | ||
| 319 | + SQLITE3_TARGET_LIB="$i/$lib/libsqlite3.a" | ||
| 320 | + SQLITE3_TARGET_LIBDIR="-L$i/$lib" | ||
| 321 | + break | ||
| 322 | + elif test -r $i/$lib/libsqlite3.so ; then | ||
| 323 | + SQLITE3_TARGET_INC="-I$i/include" | ||
| 324 | + SQLITE3_TARGET_LIB="-lsqlite3" | ||
| 325 | + SQLITE3_TARGET_LIBDIR="-L$i/$lib" | ||
| 326 | + break | ||
| 327 | + fi | ||
| 328 | + done | ||
| 329 | + if test "$SQLITE3_TARGET_LIB" != "UNKNOWN" ; then | ||
| 330 | + break | ||
| 331 | + fi | ||
| 332 | + fi | ||
| 333 | +done | ||
| 334 | +if test "$SQLITE3_TARGET_LIB" = "UNKNOWN" ; then | ||
| 335 | + lib=`pkg-config sqlite3 --libs 2>/dev/null` | ||
| 336 | + if test -n "$lib" ; then | ||
| 337 | + SQLITE3_TARGET_INC=`pkg-config sqlite3 --cflags-only-I` | ||
| 338 | + SQLITE3_TARGET_LIB="$lib" | ||
| 339 | + SQLITE3_TARGET_LIBDIR=`pkg-config sqlite3 --libs-only-L` | ||
| 340 | + fi | ||
| 341 | +fi | ||
| 342 | +if test "$SQLITE3_TARGET_INC" = "UNKNOWN" -o "$SQLITE3_TARGET_LIB" = "UNKNOWN" ; then | ||
| 343 | + AC_MSG_RESULT(no) | ||
| 344 | + AC_MSG_WARN(SQLite3 header files and/or library not found) | ||
| 345 | + SQLITE3_TARGET_INC="" | ||
| 346 | + SQLITE3_TARGET_LIB="" | ||
| 347 | + HAVE_SQLITE3_TARGET=0 | ||
| 348 | +elif test -n "$SQLITE3_A10N_C" ; then | ||
| 349 | + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_ENABLE_COLUMN_METADATA=1" | ||
| 350 | + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_DLL=1" | ||
| 351 | + HAVE_SQLITE3_TARGET=1 | ||
| 352 | + if test "$SQLITE3_IS_BUILT_WITH_SEE" = "yes" ; then | ||
| 353 | + SQLITE3_A10N_FLAGS="$SQLITE3_A10N_FLAGS -DSQLITE_HAS_CODEC=1" | ||
| 354 | + AC_MSG_RESULT([yes, using SEE]) | ||
| 355 | + else | ||
| 356 | + AC_MSG_RESULT(yes) | ||
| 357 | + fi | ||
| 358 | +else | ||
| 359 | + HAVE_SQLITE3_TARGET=1 | ||
| 360 | + AC_MSG_RESULT(yes) | ||
| 361 | +fi | ||
| 362 | +AC_SUBST(SQLITE3_TARGET_INC) | ||
| 363 | +AC_SUBST(SQLITE3_TARGET_LIB) | ||
| 364 | +AC_SUBST(HAVE_SQLITE3_TARGET) | ||
| 365 | + | ||
| 366 | +########## | ||
| 367 | +# Check SQLite3 features on target sysroot | ||
| 368 | +# | ||
| 369 | +AC_ARG_ENABLE(load-extension, | ||
| 370 | + [ --enable-load-extension support for loading SQLite 3.x extensions. | ||
| 371 | + ***** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***** | ||
| 372 | + *** Note that the --enable-load-extension option makes it *** | ||
| 373 | + *** possible for library users to load arbitrary native code *** | ||
| 374 | + *** into the JVM bypassing its security manager checks, and *** | ||
| 375 | + *** thus should be enabled only if you know what you're doing. *** | ||
| 376 | + *******************************************************************]) | ||
| 377 | +test "x$enable_load_extension" = "xyes" || enable_load_extension=no | ||
| 378 | +HAVE_SQLITE3_TARGET_MALLOC=0 | ||
| 379 | +HAVE_SQLITE3_TARGET_PREPARE_V2=0 | ||
| 380 | +HAVE_SQLITE3_TARGET_PREPARE16_V2=0 | ||
| 381 | +HAVE_SQLITE3_TARGET_BIND_ZEROBLOB=0 | ||
| 382 | +HAVE_SQLITE3_TARGET_CLEAR_BINDINGS=0 | ||
| 383 | +HAVE_SQLITE3_TARGET_COLUMN_TABLE_NAME16=0 | ||
| 384 | +HAVE_SQLITE3_TARGET_COLUMN_DATABASE_NAME16=0 | ||
| 385 | +HAVE_SQLITE3_TARGET_COLUMN_ORIGIN_NAME16=0 | ||
| 386 | +HAVE_SQLITE3_TARGET_BIND_PARAMETER_COUNT=0 | ||
| 387 | +HAVE_SQLITE3_TARGET_BIND_PARAMETER_NAME=0 | ||
| 388 | +HAVE_SQLITE3_TARGET_BIND_PARAMETER_INDEX=0 | ||
| 389 | +HAVE_SQLITE3_TARGET_RESULT_ZEROBLOB=0 | ||
| 390 | +HAVE_SQLITE3_TARGET_TARGET_INCRBLOBIO=0 | ||
| 391 | +HAVE_SQLITE3_TARGET_KEY=0 | ||
| 392 | +HAVE_SQLITE3_TARGET_SHARED_CACHE=0 | ||
| 393 | +HAVE_SQLITE3_TARGET_OPEN_V2=0 | ||
| 394 | +HAVE_SQLITE3_TARGET_LOAD_EXTENSION=0 | ||
| 395 | +HAVE_SQLITE3_TARGET_BACKUPAPI=0 | ||
| 396 | +HAVE_SQLITE3_TARGET_PROFILE=0 | ||
| 397 | +HAVE_SQLITE3_TARGET_STATUS=0 | ||
| 398 | +HAVE_SQLITE3_TARGET_DB_STATUS=0 | ||
| 399 | +HAVE_SQLITE3_TARGET_STMT_STATUS=0 | ||
| 400 | +if test "$HAVE_SQLITE3_TARGET" = 1 -a -n "$SQLITE3_A10N_C" ; then | ||
| 401 | + HAVE_SQLITE3_TARGET_MALLOC=1 | ||
| 402 | + HAVE_SQLITE3_TARGET_PREPARE_V2=1 | ||
| 403 | + HAVE_SQLITE3_TARGET_PREPARE16_V2=1 | ||
| 404 | + HAVE_SQLITE3_TARGET_BIND_ZEROBLOB=1 | ||
| 405 | + HAVE_SQLITE3_TARGET_CLEAR_BINDINGS=1 | ||
| 406 | + HAVE_SQLITE3_TARGET_COLUMN_TABLE_NAME16=1 | ||
| 407 | + HAVE_SQLITE3_TARGET_COLUMN_DATABASE_NAME16=1 | ||
| 408 | + HAVE_SQLITE3_TARGET_COLUMN_ORIGIN_NAME16=1 | ||
| 409 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_COUNT=1 | ||
| 410 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_NAME=1 | ||
| 411 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_INDEX=1 | ||
| 412 | + HAVE_SQLITE3_TARGET_RESULT_ZEROBLOB=1 | ||
| 413 | + HAVE_SQLITE3_TARGET_TARGET_INCRBLOBIO=1 | ||
| 414 | + HAVE_SQLITE3_TARGET_SHARED_CACHE=1 | ||
| 415 | + HAVE_SQLITE3_TARGET_OPEN_V2=1 | ||
| 416 | + if test "$enable_load_extension" = "yes" ; then | ||
| 417 | + HAVE_SQLITE3_TARGET_LOAD_EXTENSION=1 | ||
| 418 | + fi | ||
| 419 | + HAVE_SQLITE3_TARGET_BACKUPAPI=1 | ||
| 420 | + HAVE_SQLITE3_TARGET_PROFILE=1 | ||
| 421 | + HAVE_SQLITE3_TARGET_STATUS=1 | ||
| 422 | + HAVE_SQLITE3_TARGET_DB_STATUS=1 | ||
| 423 | + HAVE_SQLITE3_TARGET_STMT_STATUS=1 | ||
| 424 | +fi | ||
| 425 | +if test "$HAVE_SQLITE3_TARGET" = 1 -a -z "$SQLITE3_A10N_C" ; then | ||
| 426 | + saved_CFLAGS=$CFLAGS | ||
| 427 | + CFLAGS="$CFLAGS $SQLITE3_TARGET_INC" | ||
| 428 | + saved_LIBS=$LIBS | ||
| 429 | + LIBS="$LIBS $SQLITE3_TARGET_LIBDIR" | ||
| 430 | + AC_CHECK_LIB(sqlite3,sqlite3_malloc, | ||
| 431 | + HAVE_SQLITE3_TARGET_MALLOC=1,HAVE_SQLITE3_TARGET_MALLOC=0) | ||
| 432 | + AC_CHECK_LIB(sqlite3,sqlite3_prepare_v2, | ||
| 433 | + HAVE_SQLITE3_TARGET_PREPARE_V2=1,HAVE_SQLITE3_TARGET_PREPARE_V2=0) | ||
| 434 | + AC_CHECK_LIB(sqlite3,sqlite3_prepare16_v2, | ||
| 435 | + HAVE_SQLITE3_TARGET_PREPARE16_V2=1,HAVE_SQLITE3_TARGET_PREPARE16_V2=0) | ||
| 436 | + AC_CHECK_LIB(sqlite3,sqlite3_bind_zeroblob, | ||
| 437 | + HAVE_SQLITE3_TARGET_BIND_ZEROBLOB=1,HAVE_SQLITE3_TARGET_BIND_ZEROBLOB=0) | ||
| 438 | + AC_CHECK_LIB(sqlite3,sqlite3_clear_bindings, | ||
| 439 | + HAVE_SQLITE3_TARGET_CLEAR_BINDINGS=1,HAVE_SQLITE3_TARGET_CLEAR_BINDINGS=0) | ||
| 440 | + AC_CHECK_LIB(sqlite3,sqlite3_column_table_name16, | ||
| 441 | + HAVE_SQLITE3_TARGET_COLUMN_TABLE_NAME16=1, | ||
| 442 | + HAVE_SQLITE3_TARGET_COLUMN_TABLE_NAME16=0) | ||
| 443 | + AC_CHECK_LIB(sqlite3,sqlite3_column_database_name16, | ||
| 444 | + HAVE_SQLITE3_TARGET_COLUMN_DATABASE_NAME16=1, | ||
| 445 | + HAVE_SQLITE3_TARGET_COLUMN_DATABASE_NAME16=0) | ||
| 446 | + AC_CHECK_LIB(sqlite3,sqlite3_column_origin_name16, | ||
| 447 | + HAVE_SQLITE3_TARGET_COLUMN_ORIGIN_NAME16=1, | ||
| 448 | + HAVE_SQLITE3_TARGET_COLUMN_ORIGIN_NAME16=0) | ||
| 449 | + AC_CHECK_LIB(sqlite3,sqlite3_bind_parameter_count, | ||
| 450 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_COUNT=1, | ||
| 451 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_COUNT=0) | ||
| 452 | + AC_CHECK_LIB(sqlite3,sqlite3_bind_parameter_name, | ||
| 453 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_NAME=1, | ||
| 454 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_NAME=0) | ||
| 455 | + AC_CHECK_LIB(sqlite3,sqlite3_bind_parameter_index, | ||
| 456 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_INDEX=1, | ||
| 457 | + HAVE_SQLITE3_TARGET_BIND_PARAMETER_INDEX=0) | ||
| 458 | + AC_CHECK_LIB(sqlite3,sqlite3_result_zeroblob, | ||
| 459 | + HAVE_SQLITE3_TARGET_RESULT_ZEROBLOB=1,HAVE_SQLITE3_TARGET_RESULT_ZEROBLOB=0) | ||
| 460 | + AC_CHECK_LIB(sqlite3,sqlite3_blob_open, | ||
| 461 | + HAVE_SQLITE3_TARGET_TARGET_INCRBLOBIO=1,HAVE_SQLITE3_TARGET_TARGET_INCRBLOBIO=0) | ||
| 462 | + AC_CHECK_LIB(sqlite3,sqlite3_key, | ||
| 463 | + HAVE_SQLITE3_TARGET_KEY=1,HAVE_SQLITE3_TARGET_KEY=0) | ||
| 464 | + AC_CHECK_LIB(sqlite3,sqlite3_rekey, | ||
| 465 | + ,HAVE_SQLITE3_TARGET_KEY=0) | ||
| 466 | + AC_CHECK_LIB(sqlite3,sqlite3_enable_shared_cache, | ||
| 467 | + HAVE_SQLITE3_TARGET_SHARED_CACHE=1,HAVE_SQLITE3_TARGET_SHARED_CACHE=0) | ||
| 468 | + AC_CHECK_LIB(sqlite3,sqlite3_open_v2, | ||
| 469 | + HAVE_SQLITE3_TARGET_OPEN_V2=1,HAVE_SQLITE3_TARGET_OPEN_V2=0) | ||
| 470 | + if test "$enable_load_extension" = "yes" ; then | ||
| 471 | + AC_CHECK_LIB(sqlite3,sqlite3_load_extension, | ||
| 472 | + HAVE_SQLITE3_TARGET_LOAD_EXTENSION=1,HAVE_SQLITE3_TARGET_LOAD_EXTENSION=0) | ||
| 473 | + fi | ||
| 474 | + AC_CHECK_LIB(sqlite3,sqlite3_backup_init, | ||
| 475 | + HAVE_SQLITE3_TARGET_BACKUPAPI=1,HAVE_SQLITE3_TARGET_BACKUPAPI=0) | ||
| 476 | + AC_CHECK_LIB(sqlite3,sqlite3_profile, | ||
| 477 | + HAVE_SQLITE3_TARGET_PROFILE=1,HAVE_SQLITE3_TARGET_PROFILE=0) | ||
| 478 | + AC_CHECK_LIB(sqlite3,sqlite3_status, | ||
| 479 | + HAVE_SQLITE3_TARGET_STATUS=1,HAVE_SQLITE3_TARGET_STATUS=0) | ||
| 480 | + AC_CHECK_LIB(sqlite3,sqlite3_db_status, | ||
| 481 | + HAVE_SQLITE3_TARGET_DB_STATUS=1,HAVE_SQLITE3_TARGET_DB_STATUS=0) | ||
| 482 | + AC_CHECK_LIB(sqlite3,sqlite3_stmt_status, | ||
| 483 | + HAVE_SQLITE3_TARGET_STMT_STATUS=1,HAVE_SQLITE3_TARGET_STMT_STATUS=0) | ||
| 484 | + LIBS=$saved_LIBS | ||
| 485 | + CFLAGS=$saved_CFLAGS | ||
| 486 | +fi | ||
| 487 | +AC_SUBST(HAVE_SQLITE3_TARGET_MALLOC) | ||
| 488 | +AC_SUBST(HAVE_SQLITE3_TARGET_PREPARE_V2) | ||
| 489 | +AC_SUBST(HAVE_SQLITE3_TARGET_PREPARE16_V2) | ||
| 490 | +AC_SUBST(HAVE_SQLITE3_TARGET_BIND_ZEROBLOB) | ||
| 491 | +AC_SUBST(HAVE_SQLITE3_TARGET_CLEAR_BINDINGS) | ||
| 492 | +AC_SUBST(HAVE_SQLITE3_TARGET_COLUMN_TABLE_NAME16) | ||
| 493 | +AC_SUBST(HAVE_SQLITE3_TARGET_COLUMN_DATABASE_NAME16) | ||
| 494 | +AC_SUBST(HAVE_SQLITE3_TARGET_COLUMN_ORIGIN_NAME16) | ||
| 495 | +AC_SUBST(HAVE_SQLITE3_TARGET_BIND_PARAMETER_COUNT) | ||
| 496 | +AC_SUBST(HAVE_SQLITE3_TARGET_BIND_PARAMETER_NAME) | ||
| 497 | +AC_SUBST(HAVE_SQLITE3_TARGET_BIND_PARAMETER_INDEX) | ||
| 498 | +AC_SUBST(HAVE_SQLITE3_TARGET_RESULT_ZEROBLOB) | ||
| 499 | +AC_SUBST(HAVE_SQLITE3_TARGET_TARGET_INCRBLOBIO) | ||
| 500 | +AC_SUBST(HAVE_SQLITE3_TARGET_KEY) | ||
| 501 | +AC_SUBST(HAVE_SQLITE3_TARGET_SHARED_CACHE) | ||
| 502 | +AC_SUBST(HAVE_SQLITE3_TARGET_OPEN_V2) | ||
| 503 | +AC_SUBST(HAVE_SQLITE3_TARGET_LOAD_EXTENSION) | ||
| 504 | +AC_SUBST(HAVE_SQLITE3_TARGET_BACKUPAPI) | ||
| 505 | +AC_SUBST(HAVE_SQLITE3_TARGET_PROFILE) | ||
| 506 | +AC_SUBST(HAVE_SQLITE3_TARGET_STATUS) | ||
| 507 | +AC_SUBST(HAVE_SQLITE3_TARGET_DB_STATUS) | ||
| 508 | +AC_SUBST(HAVE_SQLITE3_TARGET_STMT_STATUS) | ||
| 509 | + | ||
| 510 | +if test -z "$SQLITE3_A10N_C" ; then | ||
| 511 | + SQLITE3_A10N_C="native/dummy.c" | ||
| 512 | + SQLITE3_A10N_O="dummy.lo" | ||
| 513 | +fi | ||
| 514 | +AC_SUBST(SQLITE3_A10N_C) | ||
| 515 | +AC_SUBST(SQLITE3_A10N_O) | ||
| 516 | +AC_SUBST(SQLITE3_A10N_FLAGS) | ||
| 517 | + | ||
| 518 | + | ||
| 519 | + | ||
| 520 | + | ||
| 521 | ########## | ||
| 522 | # Any usable SQLite found ? | ||
| 523 | # | ||
| 524 | @@ -565,7 +938,7 @@ if test "x$JDBCVER" = "x" ; then | ||
| 525 | $JAVA_RUN -version 2>&1 | grep 'version "1.4' >/dev/null && JDBCVER=JDBC2x | ||
| 526 | $JAVA_RUN -version 2>&1 | grep 'version "1.5' >/dev/null && JDBCVER=JDBC2y | ||
| 527 | $JAVA_RUN -version 2>&1 | grep 'version "1.6' >/dev/null && JDBCVER=JDBC2z | ||
| 528 | - $JAVA_RUN -version 2>&1 | grep 'version "1.[78]' >/dev/null && JDBCVER=JDBC2z1 | ||
| 529 | + $JAVA_RUN -version 2>&1 | grep 'version "1.@<:@78@:>@' >/dev/null && JDBCVER=JDBC2z1 | ||
| 530 | $JAVA_RUN -version 2>&1 | grep 'JSR169' >/dev/null && JDBCVER=JDBC0 | ||
| 531 | else | ||
| 532 | AC_MSG_WARN([overriding JDBC driver: $JDBCVER]) | ||
| 533 | -- | ||
| 534 | 1.9.1 | ||
| 535 | |||
diff --git a/recipes-core/javasqlite/javasqlite_20150419.bb b/recipes-core/javasqlite/javasqlite_20150419.bb new file mode 100644 index 0000000..d721d66 --- /dev/null +++ b/recipes-core/javasqlite/javasqlite_20150419.bb | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | SUMMARY = "a Java wrapper including a basic JDBC driver for SQLite" | ||
| 2 | |||
| 3 | DESCRIPTION = "\ | ||
| 4 | This is a Java wrapper including a basic JDBC driver for the SQLite 2/3 \ | ||
| 5 | database engine. It is designed using JNI to interface to the SQLite API. \ | ||
| 6 | That API is wrapped by methods in the SQLite.Database class." | ||
| 7 | |||
| 8 | LICENSE = "BSD" | ||
| 9 | SECTION = "application" | ||
| 10 | PR = "r0" | ||
| 11 | SRC_URI = " \ | ||
| 12 | http://www.ch-werner.de/javasqlite/${BPN}-${PV}.tar.gz \ | ||
| 13 | file://0001-fix-errors-during-cross-compile.patch \ | ||
| 14 | " | ||
| 15 | |||
| 16 | LIC_FILES_CHKSUM = "file://license.terms;md5=3da0e50feac5f64f08184584a8cad58a" | ||
| 17 | |||
| 18 | inherit autotools-brokensep | ||
| 19 | |||
| 20 | DEPENDS += "sqlite3 sqlite3-native icedtea7-native" | ||
| 21 | RDEPENDS_${PN} += "sqlite3" | ||
| 22 | FILES_${PN} +="/usr/share" | ||
| 23 | |||
| 24 | PARALLEL_MAKE = "-j 1" | ||
| 25 | |||
| 26 | SRC_URI[md5sum] = "242e384c1cd863d6996a35cf8c1c1e97" | ||
| 27 | SRC_URI[sha256sum] = "b6b26e2c1a2174f5525d904eb3ff698c3f7089f0d4b4c84cf6121da08c8d801f" | ||
| 28 | |||
| 29 | EXTRA_OECONF = " \ | ||
| 30 | --with-sqlite3=${STAGING_DIR_NATIVE}/usr \ | ||
| 31 | --with-sqlite3-target=${STAGING_DIR_TARGET}/usr \ | ||
| 32 | --with-jdk=${STAGING_DIR_NATIVE}/usr/lib/jvm/icedtea7-native/ \ | ||
| 33 | " | ||
| 34 | |||
| 35 | EXTRA_OEMAKE = "DESTDIR=${D}" | ||
| 36 | |||
| 37 | # This dev package contains an '.so' file used for JNI development | ||
| 38 | INSANE_SKIP_${PN}-dev = "dev-elf" | ||
| 39 | |||
| 40 | do_configure_append (){ | ||
| 41 | cp ${S}/*-libtool ${S}/libtool | ||
| 42 | } | ||
