Thread: Compiling for iOS

Compiling for iOS

From
Francisco Tolmasky
Date:
So I’ve been trying to get libpq built for iOS for an app I’m writing (if there’s an iOS postgres distribution I’ve somehow missed please let me know!).

So far, I’ve succeeded in getting libpq to compile in the various different instruction sets and combining them with lipo into one fat .a file. However, I now need the include files to be able to properly use it in an Xcode project (or anywhere really).

My issue is that since I’m just compiling -C src/interfaces/libpq, I don’t generate all the necessary include files. Unfortunately doing gnumake -C src/interfaces/libpq install only installs the libpq-specific include files, and not the “generic” ones I guess? I can’t just build everything for iOS to solve this issue since I get errors when trying to compile the world for iOS. I’m so close, I just need the proper include files, any help on how to accomplish this?

I’ve put this work so far in this repo if that helps: https://github.com/tolmasky/postgres-ios

Re: Compiling for iOS

From
Tom Lane
Date:
Francisco Tolmasky <tolmasky@gmail.com> writes:
> My issue is that since I’m just compiling -C src/interfaces/libpq, I don’t
> generate all the necessary include files. Unfortunately doing gnumake -C
> src/interfaces/libpq install only installs the libpq-specific include
> files, and not the “generic” ones I guess? I can’t just build everything
> for iOS to solve this issue since I get errors when trying to compile the
> world for iOS. I’m so close, I just need the proper include files, any help
> on how to accomplish this?

If you managed to get past the configure step then you should have all the
include files needed to build clients.  I don't think there is an install
target in the makefiles that installs only the headers you want, but you
could probably run "make install" in src/include/ and then throw away the
server/ subdirectory in the target include/ directory.

            regards, tom lane


Re: Compiling for iOS

From
Francisco Tolmasky
Date:
I suppose my confusion is stemming from the fact that after running configure, the contents of src/include are quite different than the shipping include files. I tried doing make install in src/include (after running configure of course), but go this error:

install: utils/errcodes.h: No such file or directory


(error 71)



On Sat, Sep 6, 2014 at 3:39 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Francisco Tolmasky <tolmasky@gmail.com> writes:
> My issue is that since I’m just compiling -C src/interfaces/libpq, I don’t
> generate all the necessary include files. Unfortunately doing gnumake -C
> src/interfaces/libpq install only installs the libpq-specific include
> files, and not the “generic” ones I guess? I can’t just build everything
> for iOS to solve this issue since I get errors when trying to compile the
> world for iOS. I’m so close, I just need the proper include files, any help
> on how to accomplish this?

If you managed to get past the configure step then you should have all the
include files needed to build clients.  I don't think there is an install
target in the makefiles that installs only the headers you want, but you
could probably run "make install" in src/include/ and then throw away the
server/ subdirectory in the target include/ directory.

                        regards, tom lane



--
Francisco Tolmasky
www.tolmasky.com
tolmasky@gmail.com