SQLite

Check-in [6092b0b8]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6092b0b86bf93a3d58a83774b6d07ef9735e6c8a0f2ac2d0a6d263c2e9f1e3ca
User & Date: stephan 2025-02-09 04:38:56
References
2025-02-11
13:15
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 8212f8ee user: stephan tags: branch-3.49)
13:13
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (Leaf check-in: 75535f23 user: stephan tags: trunk)
2025-02-09
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae2 user: stephan tags: branch-3.49)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: f3a35fdc user: stephan tags: trunk)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b8 user: stephan tags: branch-3.49)
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cf user: stephan tags: trunk)
Context
2025-02-09
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cf user: stephan tags: trunk)
04:40
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 705a6d3e user: stephan tags: branch-3.49)
04:38
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 6092b0b8 user: stephan tags: trunk)
04:16
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 55e01365 user: stephan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to Makefile.in.
117
118
119
120
121
122
123
124

125

126
127
128
129
130
131
132
LDFLAGS.dlopen = @LDFLAGS_DLOPEN@
LDFLAGS.readline = @LDFLAGS_READLINE@
CFLAGS.readline = @CFLAGS_READLINE@
LDFLAGS.icu = @LDFLAGS_ICU@
CFLAGS.icu = @CFLAGS_ICU@
LDFLAGS.libsqlite3.soname = @LDFLAGS_LIBSQLITE3_SONAME@
# soname: see https://sqlite.org/src/forumpost/5a3b44f510df8ded
LDFLAGS.libsqlite3.os-specific = @LDFLAGS_MAC_CVERSION@

# os-specific: see https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7

ENABLE_SHARED = @ENABLE_SHARED@
ENABLE_STATIC = @ENABLE_STATIC@
HAVE_WASI_SDK = @HAVE_WASI_SDK@

T.cc.sqlite = $(T.cc) @TARGET_DEBUG@

#







|
>
|
>







117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
LDFLAGS.dlopen = @LDFLAGS_DLOPEN@
LDFLAGS.readline = @LDFLAGS_READLINE@
CFLAGS.readline = @CFLAGS_READLINE@
LDFLAGS.icu = @LDFLAGS_ICU@
CFLAGS.icu = @CFLAGS_ICU@
LDFLAGS.libsqlite3.soname = @LDFLAGS_LIBSQLITE3_SONAME@
# soname: see https://sqlite.org/src/forumpost/5a3b44f510df8ded
LDFLAGS.libsqlite3.os-specific = @LDFLAGS_MAC_CVERSION@ @LDFLAGS_OUT_IMPLIB@
# os-specific: see
# - https://sqlite.org/forum/forumpost/9dfd5b8fd525a5d7
# - https://sqlite.org/forum/forumpost/0c7fc097b2
ENABLE_SHARED = @ENABLE_SHARED@
ENABLE_STATIC = @ENABLE_STATIC@
HAVE_WASI_SDK = @HAVE_WASI_SDK@

T.cc.sqlite = $(T.cc) @TARGET_DEBUG@

#
Changes to autosetup/sqlite-config.tcl.
915
916
917
918
919
920
921





















922
923
924
925
926
927

928
929
930
931
932
933
934
        define LDFLAGS_MAC_CVERSION "-compatibility_version 9.0.0 -current_version 9.6.0"
        set rc 1
      }
    }
  }
  return $rc
}






















########################################################################
# Performs late-stage config steps common to both the canonical and
# autoconf bundle builds.
proc sqlite-common-late-stage-config {} {
  sqlite-check-mac-cversion

  sqlite-process-dot-in-files
  sqlite-post-config-validation
}

########################################################################
# Perform some late-stage work and generate the configure-process
# output file(s).







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>






>







915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
        define LDFLAGS_MAC_CVERSION "-compatibility_version 9.0.0 -current_version 9.6.0"
        set rc 1
      }
    }
  }
  return $rc
}

########################################################################
# Define LDFLAGS_OUT_IMPLIB to either an empty string or to a
# -Wl,... flag for the platform-specific --out-implib flag, which is
# used for building an "import library .dll.a" file on some platforms
# (e.g. mingw). Returns 1 if supported, else 0.
#
# Added in response to: https://sqlite.org/forum/forumpost/0c7fc097b2
proc sqlite-check-out-implib {} {
  define LDFLAGS_OUT_IMPLIB ""
  set rc 0
  cc-with {} {
    set dll "libsqlite3[get-define TARGET_DLLEXT]"
    set flags "-Wl,--out-implib,${dll}.a"
    if {[cc-check-flags $flags]} {
      define LDFLAGS_OUT_IMPLIB $flags
      set rc 1
    }
  }
  return $rc
}

########################################################################
# Performs late-stage config steps common to both the canonical and
# autoconf bundle builds.
proc sqlite-common-late-stage-config {} {
  sqlite-check-mac-cversion
  sqlite-check-out-implib
  sqlite-process-dot-in-files
  sqlite-post-config-validation
}

########################################################################
# Perform some late-stage work and generate the configure-process
# output file(s).
Changes to main.mk.
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
tidy: tidy-.
	rm -f *.o *.c *.da *.bb *.bbg gmon.* *.rws sqlite3$(T.exe)
	rm -f fts5.h keywordhash.h opcodes.h sqlite3.h sqlite3ext.h sqlite3session.h
	rm -rf .libs .deps tsrc .target_source
	rm -f lemon$(B.exe) sqlite*.tar.gz
	rm -f mkkeywordhash$(B.exe) mksourceid$(B.exe)
	rm -f parse.* fts5parse.*
	rm -f $(libsqlite3.SO) $(libsqlite3.LIB) $(libtclsqlite3.SO)
	rm -f tclsqlite3$(T.exe) $(TESTPROGS)
	rm -f LogEst$(T.exe) fts3view$(T.exe) rollback-test$(T.exe) showdb$(T.exe)
	rm -f showjournal$(T.exe) showstat4$(T.exe) showwal$(T.exe) speedtest1$(T.exe)
	rm -f wordcount$(T.exe) changeset$(T.exe) version-info$(T.exe)
	rm -f *.exp *.vsix pkgIndex.tcl
	rm -f sqlite3_analyzer$(T.exe) sqlite3_rsync$(T.exe) sqlite3_expert$(T.exe)
	rm -f mptester$(T.exe) rbu$(T.exe)	srcck1$(T.exe)







|







2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
tidy: tidy-.
	rm -f *.o *.c *.da *.bb *.bbg gmon.* *.rws sqlite3$(T.exe)
	rm -f fts5.h keywordhash.h opcodes.h sqlite3.h sqlite3ext.h sqlite3session.h
	rm -rf .libs .deps tsrc .target_source
	rm -f lemon$(B.exe) sqlite*.tar.gz
	rm -f mkkeywordhash$(B.exe) mksourceid$(B.exe)
	rm -f parse.* fts5parse.*
	rm -f $(libsqlite3.SO) $(libsqlite3.LIB) $(libtclsqlite3.SO) libsqlite3$(T.dll).a
	rm -f tclsqlite3$(T.exe) $(TESTPROGS)
	rm -f LogEst$(T.exe) fts3view$(T.exe) rollback-test$(T.exe) showdb$(T.exe)
	rm -f showjournal$(T.exe) showstat4$(T.exe) showwal$(T.exe) speedtest1$(T.exe)
	rm -f wordcount$(T.exe) changeset$(T.exe) version-info$(T.exe)
	rm -f *.exp *.vsix pkgIndex.tcl
	rm -f sqlite3_analyzer$(T.exe) sqlite3_rsync$(T.exe) sqlite3_expert$(T.exe)
	rm -f mptester$(T.exe) rbu$(T.exe)	srcck1$(T.exe)