Merge pull request #339 from brauner/2016-10-17/fix_libsqlite3_build

actually link to <sqlite3.h> when -tags libsqlite3
This commit is contained in:
mattn 2016-10-28 17:48:50 +09:00 committed by GitHub
commit dbe15b0408
4 changed files with 40 additions and 6 deletions

View File

@ -17,6 +17,7 @@
** language. The code for the "sqlite3" command-line shell is also in a
** separate file. This file contains only code for the core SQLite library.
*/
#ifndef USE_LIBSQLITE3
#define SQLITE_CORE 1
#define SQLITE_AMALGAMATION 1
#ifndef SQLITE_PRIVATE
@ -197846,5 +197847,9 @@ static int sqlite3Fts5VocabInit(Fts5Global *pGlobal, sqlite3 *db){
#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5) */
#else // USE_LIBSQLITE3
// If users really want to link against the system sqlite3 we
// need to make this file a noop.
#endif
/************** End of fts5.c ************************************************/

View File

@ -30,6 +30,7 @@
** the version number) and changes its name to "sqlite3.h" as
** part of the build process.
*/
#ifndef USE_LIBSQLITE3
#ifndef SQLITE3_H
#define SQLITE3_H
#include <stdarg.h> /* Needed for the definition of va_list */
@ -10338,5 +10339,9 @@ struct fts5_api {
#endif
#endif /* _FTS5_H */
#else // USE_LIBSQLITE3
// If users really want to link against the system sqlite3 we
// need to make this file a noop.
#endif
/******** End of fts5.h *********/

View File

@ -1,3 +1,4 @@
#ifndef USE_LIBSQLITE3
/*
** 2006 June 7
**
@ -558,3 +559,7 @@ typedef int (*sqlite3_loadext_entry)(
#endif
#endif /* SQLITE3EXT_H */
#else // USE_LIBSQLITE3
// If users really want to link against the system sqlite3 we
// need to make this file a noop.
#endif

View File

@ -37,18 +37,21 @@ func main() {
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
resp.Body.Close()
log.Fatal(err)
}
fmt.Printf("extracting %v\n", path.Base(url))
r, err := zip.NewReader(bytes.NewReader(b), resp.ContentLength)
if err != nil {
resp.Body.Close()
log.Fatal(err)
}
resp.Body.Close()
for _, zf := range r.File {
var f *os.File
switch path.Base(zf.Name) {
@ -68,11 +71,27 @@ func main() {
if err != nil {
log.Fatal(err)
}
_, err = io.Copy(f, zr)
f.Close()
_, err = io.WriteString(f, "#ifndef USE_LIBSQLITE3\n")
if err != nil {
zr.Close()
f.Close()
log.Fatal(err)
}
_, err = io.Copy(f, zr)
if err != nil {
zr.Close()
f.Close()
log.Fatal(err)
}
_, err = io.WriteString(f, "#else // USE_LIBSQLITE3\n // If users really want to link against the system sqlite3 we\n// need to make this file a noop.\n #endif")
if err != nil {
zr.Close()
f.Close()
log.Fatal(err)
}
zr.Close()
f.Close()
fmt.Printf("extracted %v\n", filepath.Base(f.Name()))
}
}