Skip to content

Embed C Library Directly into project #401

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from

Conversation

ryanholden8
Copy link

Hi @stephencelis,

I'm not sure the reasons against this (so forgive me please (; ) and it might have already been discussed (couldn't find the discussion) but this would solve a few problems:

  • The issues with cocoapods and the sqlite3 header file
  • iOS SQLite version is very much behind.
  • SQLite 3.8-3.12.0 has many speed improvements.
  • FTS5 is becoming more stable and useful (bm25 ranking, speed). JSON1 extension is cool too. If this project really wanted to utilize these features without requiring iOS 11 then embedding the C library would be required anyways.

@kdubb
Copy link
Contributor

kdubb commented Apr 17, 2016

FMDB does this using a subspec (Cocoapod). Couldn't this be done in this project as well?

@kdubb
Copy link
Contributor

kdubb commented Apr 17, 2016

FYI, I am completely for this, we've effectively abandoned using the SQLite from iOS because we require a stable version to develop against.

@stephencelis
Copy link
Owner

I definitely like the idea behind this, but I have a few concerns with the current implementation:

  • As @kdubb touched upon, can we use a git submodule and CocoaPods subspec instead of embedding everything directly in the repo? Using a git submodule makes it much easier to keep things in sync as the upstream SQLite library sees new releases and keeps the commit diff/noise down.
  • I also would prefer not to require every developer to bundle SQLite with their app. I haven't done the math, but I imagine the app payload to increase by a nontrivial amount.

@jberkel
Copy link
Collaborator

jberkel commented May 12, 2016

I've tried a few other options but CocoaPods is so far the best way to handle this. #431 adds a subspec which downloads the latest stable version of sqlite and includes it in the build.

Not sure how this could be done elegantly with submodules / Carthage – it would probably require separate targets (linking/framework) which would complicate the build even further.

@jberkel
Copy link
Collaborator

jberkel commented Sep 15, 2016

SQLite can be integrated via CocoaPods now. closing.

@jberkel jberkel closed this Sep 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants