aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2012-09-07 09:03:28 +0000
committerstuconnolly <stuart02@gmail.com>2012-09-07 09:03:28 +0000
commit1a20cd03f29b0c0ee842008b1445ba54ad23dc69 (patch)
tree371d3b40197334348907662972345477a7e1dbff /Frameworks
parentd702a0175e62dfa80537f2405c185d21b739883f (diff)
downloadsequelpro-1a20cd03f29b0c0ee842008b1445ba54ad23dc69.tar.gz
sequelpro-1a20cd03f29b0c0ee842008b1445ba54ad23dc69.tar.bz2
sequelpro-1a20cd03f29b0c0ee842008b1445ba54ad23dc69.zip
Add libpqtypes static library so we don't have to reverse engineer Postgres' binary formats.
Diffstat (limited to 'Frameworks')
-rw-r--r--Frameworks/PostgresKit/Libs/libpq/include/libpq-fe.h (renamed from Frameworks/PostgresKit/PostgreSQL/include/libpq-fe.h)0
-rw-r--r--Frameworks/PostgresKit/Libs/libpq/include/postgres_ext.h (renamed from Frameworks/PostgresKit/PostgreSQL/include/postgres_ext.h)0
-rw-r--r--Frameworks/PostgresKit/Libs/libpq/lib/libpq.a (renamed from Frameworks/PostgresKit/PostgreSQL/lib/libpq.a)bin687820 -> 687820 bytes
-rw-r--r--Frameworks/PostgresKit/Libs/libpqtypes/include/libpqtypes.h468
-rw-r--r--Frameworks/PostgresKit/Libs/libpqtypes/lib/libpqtypes.abin0 -> 515772 bytes
-rw-r--r--Frameworks/PostgresKit/PostgresKit.xcodeproj/project.pbxproj68
6 files changed, 518 insertions, 18 deletions
diff --git a/Frameworks/PostgresKit/PostgreSQL/include/libpq-fe.h b/Frameworks/PostgresKit/Libs/libpq/include/libpq-fe.h
index d7802753..d7802753 100644
--- a/Frameworks/PostgresKit/PostgreSQL/include/libpq-fe.h
+++ b/Frameworks/PostgresKit/Libs/libpq/include/libpq-fe.h
diff --git a/Frameworks/PostgresKit/PostgreSQL/include/postgres_ext.h b/Frameworks/PostgresKit/Libs/libpq/include/postgres_ext.h
index b6ebb7aa..b6ebb7aa 100644
--- a/Frameworks/PostgresKit/PostgreSQL/include/postgres_ext.h
+++ b/Frameworks/PostgresKit/Libs/libpq/include/postgres_ext.h
diff --git a/Frameworks/PostgresKit/PostgreSQL/lib/libpq.a b/Frameworks/PostgresKit/Libs/libpq/lib/libpq.a
index 72502f0c..72502f0c 100644
--- a/Frameworks/PostgresKit/PostgreSQL/lib/libpq.a
+++ b/Frameworks/PostgresKit/Libs/libpq/lib/libpq.a
Binary files differ
diff --git a/Frameworks/PostgresKit/Libs/libpqtypes/include/libpqtypes.h b/Frameworks/PostgresKit/Libs/libpqtypes/include/libpqtypes.h
new file mode 100644
index 00000000..b41c9d70
--- /dev/null
+++ b/Frameworks/PostgresKit/Libs/libpqtypes/include/libpqtypes.h
@@ -0,0 +1,468 @@
+
+/*
+ * libpqtypes.h
+ * Public header for libpqtypes. Contains the entire public API.
+ *
+ * Copyright (c) 2011 eSilo, LLC. All rights reserved.
+ * This is free software; see the source for copying conditions. There is
+ * NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ */
+
+#ifndef LIBPQTYPES_H
+#define LIBPQTYPES_H
+
+#include <libpq-fe.h>
+#include <time.h>
+#include <stdarg.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
+# define PQT_EXPORT __declspec(dllexport)
+#else
+# define PQT_EXPORT extern
+#endif
+
+/* MSVC 6 must use `i64', everything else uses `LL'. */
+#if !defined(_MSC_VER) || _MSC_VER > 1200
+# define PQT_INT64CONST(x) ((PGint8) x##LL)
+#else
+# define PQT_INT64CONST(x) ((PGint8) x##i64)
+#endif
+
+enum
+{
+ PQT_SUBCLASS,
+ PQT_COMPOSITE,
+ PQT_USERDEFINED
+};
+
+typedef struct pg_param PGparam;
+typedef struct pg_typeargs PGtypeArgs;
+typedef int (*PGtypeProc)(PGtypeArgs *args);
+
+/* For use with a PQregisterXXX function */
+typedef struct
+{
+ const char *typname;
+ PGtypeProc typput;
+ PGtypeProc typget;
+} PGregisterType;
+
+typedef struct
+{
+ int sversion;
+ int pversion;
+ char datestyle[48];
+ int integer_datetimes;
+} PGtypeFormatInfo;
+
+/* Record Attribute Description, its columns */
+typedef struct
+{
+ Oid attoid;
+ int attlen;
+ int atttypmod;
+ char attname[65];
+} PGrecordAttDesc;
+
+/* Type handler for putf and getf functions. The char fixed length buffers
+ * used to be allocated pointers. This was a performance problem when
+ * many type handlers are registered and one uses getf on a composite or
+ * an array. These types require generating a PGresult and duplicating
+ * the type handlers. Saved 40% by not having to deep copy the strings.
+ */
+typedef struct pg_typhandler
+{
+ int id;
+ char typschema[65];
+ char typname[65];
+ int typlen;
+ Oid typoid;
+ Oid typoid_array;
+ PGtypeProc typput;
+ PGtypeProc typget;
+ int base_id;
+
+ /* For composites, contains each attribute of a composite */
+ int nattrs;
+ int freeAttDescs;
+ PGrecordAttDesc attDescsBuf[16];
+ PGrecordAttDesc *attDescs;
+} PGtypeHandler;
+
+/* Values required during a type handler put ot get operation. */
+struct pg_typeargs
+{
+ int is_put;
+ const PGtypeFormatInfo *fmtinfo;
+ int is_ptr;
+ int format;
+ va_list ap;
+ int typpos;
+ PGtypeHandler *typhandler;
+ int (*errorf)(PGtypeArgs *args, const char *format, ...);
+ int (*super)(PGtypeArgs *args, ...);
+
+ struct
+ {
+ PGparam *param;
+ char *out;
+ char *__allocated_out; /* leave me alone! */
+ int outl;
+ int (*expandBuffer)(PGtypeArgs *args, int new_len);
+ } put;
+
+ struct
+ {
+ PGresult *result;
+ int tup_num;
+ int field_num;
+ } get;
+};
+
+
+/* ----------------
+ * Variable Length types
+ * ----------------
+ */
+
+typedef char *PGtext;
+typedef char *PGvarchar;
+typedef char *PGbpchar;
+typedef char *PGuuid;
+typedef struct
+{
+ int len;
+ char *data;
+} PGbytea;
+
+/* ----------------
+ * Numeric types
+ * ----------------
+ */
+
+typedef signed char PGchar;
+typedef int PGbool;
+typedef short PGint2;
+typedef int PGint4;
+typedef float PGfloat4;
+typedef double PGfloat8;
+typedef char *PGnumeric;
+
+/* Defined by an end-user if the system is missing long long. */
+#ifdef PQT_LONG_LONG
+ typedef PQT_LONG_LONG PGint8;
+ typedef PQT_LONG_LONG PGmoney;
+
+/* MinGW and MSVC can use __int64 */
+#elif defined(__MINGW32__) || defined(_MSC_VER)
+ typedef __int64 PGint8;
+ typedef __int64 PGmoney;
+
+/* Cygwin and Unixes. */
+#else
+ typedef long long PGint8;
+ typedef long long PGmoney;
+#endif
+
+/* ----------------
+ * Geometric type structures
+ * ----------------
+ */
+
+typedef struct
+{
+ double x;
+ double y;
+} PGpoint;
+
+typedef struct
+{
+ PGpoint pts[2];
+} PGlseg;
+
+typedef struct
+{
+ PGpoint high;
+ PGpoint low;
+} PGbox;
+
+typedef struct
+{
+ PGpoint center;
+ double radius;
+} PGcircle;
+
+typedef struct
+{
+ int npts;
+ int closed;
+ PGpoint *pts; /* for getf, only valid while PGresult is. */
+} PGpath;
+
+typedef struct
+{
+ int npts;
+ PGpoint *pts; /* for getf, only valid while PGresult is. */
+} PGpolygon;
+
+/* ----------------
+ * Network type structures
+ * ----------------
+ */
+
+/* This struct works with CIDR as well. */
+typedef struct
+{
+ int mask;
+ int is_cidr;
+ int sa_buf_len;
+
+ /* sockaddr buffer, can be casted to sockaddr, sockaddr_in,
+ * sockaddr_in6 or sockaddr_stroage.
+ */
+ char sa_buf[128];
+} PGinet;
+
+typedef struct
+{
+ int a;
+ int b;
+ int c;
+ int d;
+ int e;
+ int f;
+} PGmacaddr;
+
+/* ----------------
+ * Date & Time structures
+ * ----------------
+ */
+
+typedef struct
+{
+ int years;
+ int mons;
+ int days;
+ int hours;
+ int mins;
+ int secs;
+ int usecs;
+} PGinterval;
+
+typedef struct
+{
+ int isbc;
+ int year;
+ int mon;
+ int mday;
+ int jday;
+ int yday;
+ int wday;
+} PGdate;
+
+typedef struct
+{
+ int hour;
+ int min;
+ int sec;
+ int usec;
+ int withtz;
+ int isdst;
+ int gmtoff;
+ char tzabbr[16];
+} PGtime;
+
+typedef struct
+{
+ PGint8 epoch;
+ PGdate date;
+ PGtime time;
+} PGtimestamp;
+
+/* ----------------
+ * Array structures
+ * ----------------
+ */
+
+#ifndef MAXDIM
+# define MAXDIM 6
+#endif
+
+typedef struct
+{
+ int ndims;
+ int lbound[MAXDIM];
+ int dims[MAXDIM];
+ PGparam *param;
+ PGresult *res;
+} PGarray;
+
+/* ----------------
+ * Public API funcs
+ * ----------------
+ */
+
+/* === in events.c === */
+
+/* Deprecated, see PQinitTypes */
+PQT_EXPORT int
+PQtypesRegister(PGconn *conn);
+
+/* === in error.c === */
+
+PQT_EXPORT char *
+PQgeterror(void);
+
+/* PQseterror(NULL) will clear the error message */
+PQT_EXPORT void
+PQseterror(const char *format, ...);
+
+/* Gets the error field for the last executed query. This only
+ * pertains to PQparamExec and PQparamExecPrepared. When using a
+ * standard libpq function like PQexec, PQresultErrorField should be used.
+ */
+PQT_EXPORT char *
+PQgetErrorField(int fieldcode);
+
+/* === in spec.c === */
+
+/* Set 'format' argument to NULL to clear a single prepared specifier. */
+PQT_EXPORT int
+PQspecPrepare(PGconn *conn, const char *name, const char *format, int is_stmt);
+
+PQT_EXPORT int
+PQclearSpecs(PGconn *conn);
+
+/* === in handler.c === */
+
+/* Initialize type support on the given connection */
+PQT_EXPORT int
+PQinitTypes(PGconn *conn);
+
+/* Deprecated, see PQregisterTypes */
+PQT_EXPORT int
+PQregisterSubClasses(PGconn *conn, PGregisterType *types, int count);
+
+/* Deprecated, see PQregisterTypes */
+PQT_EXPORT int
+PQregisterComposites(PGconn *conn, PGregisterType *types, int count);
+
+/* Deprecated, see PQregisterTypes */
+PQT_EXPORT int
+PQregisterUserDefinedTypes(PGconn *conn, PGregisterType *types, int count);
+
+/* Registers PQT_SUBCLASS, PQT_COMPOSITE or PQT_USERDEFINED
+ * (the 'which' argument) for use with libpqtypes.
+ *
+ * For asynchronous type registration, set the 'async' argument to a
+ * non-zero value. This value is ignored when 'which' is PQT_SUBCLASS,
+ * since subclass registration does not execute any commands against the
+ * server. Use the standard PQconsumeInput, PQisBusy and PQgetResult
+ * to properly obtain a PGresult, which must be passed to PQregisterResult
+ * to complete the registration.
+ */
+PQT_EXPORT int
+PQregisterTypes(PGconn *conn, int which, PGregisterType *types,
+ int count, int async);
+
+/* Registers a set of 'which' types found in the given PGresult. Caller
+ * is responsible for clearing the result 'res'. Useful for performing
+ * asynchronous type registration or for caching type result data to
+ * avoid lookups on a new connection. If PQregisterTypes is ran in async
+ * mode, the PGresult obtained via PGgetResult can be cached by an
+ * application and provided to this function for new connections.
+ *
+ * Types and count should be identical to what was originally supplied
+ * to PQregisterTypes.
+ *
+ * NOTE: although a PGconn is a required argument, it is never used
+ * to perform any network operation (non-blocking safe).
+ *
+ * PQT_SUBCLASS is not supported and will result in an error if supplied.
+ */
+PQT_EXPORT int
+PQregisterResult(PGconn *conn, int which, PGregisterType *types,
+ int count, PGresult *res);
+
+/* Clears all type handlers registered on 'conn'. This is useful after a
+ * PQreset or PQresetPoll to optionally allow one to re-register types via
+ * PQregisterTypes.
+ */
+PQT_EXPORT int
+PQclearTypes(PGconn *conn);
+
+/* === in param.c === */
+
+PQT_EXPORT PGparam *
+PQparamCreate(const PGconn *conn);
+
+PQT_EXPORT PGparam *
+PQparamDup(PGparam *param);
+
+PQT_EXPORT int
+PQparamCount(PGparam *param);
+
+PQT_EXPORT void
+PQparamReset(PGparam *param);
+
+PQT_EXPORT void
+PQparamClear(PGparam *param);
+
+PQT_EXPORT int
+PQputf(PGparam *param, const char *format, ...);
+
+PQT_EXPORT int
+PQputvf(PGparam *param, char *stmtBuf, size_t stmtBufLen,
+ const char *format, va_list ap);
+
+/* === in exec.c === */
+
+PQT_EXPORT int
+PQgetf(const PGresult *res, int tup_num, const char *format, ...);
+
+PQT_EXPORT int
+PQgetvf(const PGresult *res, int tup_num, const char *format, va_list ap);
+
+PQT_EXPORT PGresult *
+PQexecf(PGconn *conn, const char *cmdspec, ...);
+
+PQT_EXPORT PGresult *
+PQexecvf(PGconn *conn, const char *cmdspec, va_list ap);
+
+PQT_EXPORT int
+PQsendf(PGconn *conn, const char *cmdspec, ...);
+
+PQT_EXPORT int
+PQsendvf(PGconn *conn, const char *cmdspec, va_list ap);
+
+PQT_EXPORT PGresult *
+PQparamExec(PGconn *conn, PGparam *param,
+ const char *command, int resultFormat);
+
+PQT_EXPORT int
+PQparamSendQuery(PGconn *conn, PGparam *param,
+ const char *command, int resultFormat);
+
+PQT_EXPORT PGresult *
+PQparamExecPrepared(PGconn *conn, PGparam *param,
+ const char *stmtName, int resultFormat);
+
+PQT_EXPORT int
+PQparamSendQueryPrepared(PGconn *conn, PGparam *param,
+ const char *stmtName, int resultFormat);
+
+/* === in datetime.c === */
+
+PQT_EXPORT void
+PQlocalTZInfo(time_t *t, int *gmtoff, int *isdst, char **tzabbrp);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* !LIBPQTYPES_H */
+
diff --git a/Frameworks/PostgresKit/Libs/libpqtypes/lib/libpqtypes.a b/Frameworks/PostgresKit/Libs/libpqtypes/lib/libpqtypes.a
new file mode 100644
index 00000000..d95c9baf
--- /dev/null
+++ b/Frameworks/PostgresKit/Libs/libpqtypes/lib/libpqtypes.a
Binary files differ
diff --git a/Frameworks/PostgresKit/PostgresKit.xcodeproj/project.pbxproj b/Frameworks/PostgresKit/PostgresKit.xcodeproj/project.pbxproj
index 3d7204b7..53a7aab2 100644
--- a/Frameworks/PostgresKit/PostgresKit.xcodeproj/project.pbxproj
+++ b/Frameworks/PostgresKit/PostgresKit.xcodeproj/project.pbxproj
@@ -9,6 +9,7 @@
/* Begin PBXBuildFile section */
170465CE15C2960F00DC5BE5 /* FLXPostgresTypeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 170465CC15C2960F00DC5BE5 /* FLXPostgresTypeHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
170465CF15C2960F00DC5BE5 /* FLXPostgresTypeHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 170465CD15C2960F00DC5BE5 /* FLXPostgresTypeHandler.m */; };
+ 1724C9B815F9ED8600AB2291 /* libpqtypes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1724C9B715F9ED8600AB2291 /* libpqtypes.a */; };
1731F02B15EE09E000D973EB /* FLXPostgresConnectionParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 1731F02915EE09E000D973EB /* FLXPostgresConnectionParameters.h */; };
1731F02C15EE09E000D973EB /* FLXPostgresConnectionParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 1731F02A15EE09E000D973EB /* FLXPostgresConnectionParameters.m */; };
1731F10815F1A52B00D973EB /* FLXPostgresTypeDateTimeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1731F10615F1A52B00D973EB /* FLXPostgresTypeDateTimeHandler.h */; };
@@ -31,8 +32,6 @@
173D4EAA15BAB2A80007F267 /* FLXPostgresStatement.m in Sources */ = {isa = PBXBuildFile; fileRef = 173D4E9E15BAB2A80007F267 /* FLXPostgresStatement.m */; };
173D4EAB15BAB2A80007F267 /* PostgresKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 173D4E9F15BAB2A80007F267 /* PostgresKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
173D4EE215BACA700007F267 /* libpq.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 173D4EE115BACA700007F267 /* libpq.a */; };
- 173D4EE515BACA900007F267 /* libpq-fe.h in Headers */ = {isa = PBXBuildFile; fileRef = 173D4EE315BACA900007F267 /* libpq-fe.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 173D4EE615BACA900007F267 /* postgres_ext.h in Headers */ = {isa = PBXBuildFile; fileRef = 173D4EE415BACA900007F267 /* postgres_ext.h */; settings = {ATTRIBUTES = (Public, ); }; };
173D4F4515BAD22B0007F267 /* FLXPostgresTypeHandlerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 173D4EA015BAB2A80007F267 /* FLXPostgresTypeHandlerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
173D4F5715BAD3030007F267 /* FLXPostgresTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 173D4F5615BAD3030007F267 /* FLXPostgresTypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
173D506A15BB93470007F267 /* libssl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 173D506915BB93470007F267 /* libssl.dylib */; };
@@ -55,6 +54,8 @@
/* Begin PBXFileReference section */
170465CC15C2960F00DC5BE5 /* FLXPostgresTypeHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLXPostgresTypeHandler.h; sourceTree = "<group>"; };
170465CD15C2960F00DC5BE5 /* FLXPostgresTypeHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLXPostgresTypeHandler.m; sourceTree = "<group>"; };
+ 1724C9B715F9ED8600AB2291 /* libpqtypes.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpqtypes.a; sourceTree = "<group>"; };
+ 1724CA3B15F9EE7300AB2291 /* libpqtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libpqtypes.h; sourceTree = "<group>"; };
1731F02915EE09E000D973EB /* FLXPostgresConnectionParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLXPostgresConnectionParameters.h; sourceTree = "<group>"; };
1731F02A15EE09E000D973EB /* FLXPostgresConnectionParameters.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLXPostgresConnectionParameters.m; sourceTree = "<group>"; };
1731F10615F1A52B00D973EB /* FLXPostgresTypeDateTimeHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLXPostgresTypeDateTimeHandler.h; sourceTree = "<group>"; };
@@ -98,7 +99,7 @@
177C9BAA15CD37E000128642 /* FLXPostgresConnectionEncoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLXPostgresConnectionEncoding.m; sourceTree = "<group>"; };
17E595F114F3058F0054EE08 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
17F5B77C15C9D092006DA689 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = "<group>"; };
+ 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Resources/Info.plist; sourceTree = "<group>"; };
8DC2EF5B0486A6940098B216 /* PostgresKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PostgresKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
@@ -109,6 +110,7 @@
files = (
17E595F214F3058F0054EE08 /* Foundation.framework in Frameworks */,
173D4EE215BACA700007F267 /* libpq.a in Frameworks */,
+ 1724C9B815F9ED8600AB2291 /* libpqtypes.a in Frameworks */,
173D506A15BB93470007F267 /* libssl.dylib in Frameworks */,
173D507015BB93E40007F267 /* libcrypto.dylib in Frameworks */,
);
@@ -151,12 +153,45 @@
089C1665FE841158C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
- 173D4EDE15BACA090007F267 /* PostgreSQL */,
- 8DC2EF5A0486A6940098B216 /* Info.plist */,
+ 173D4EDE15BACA090007F267 /* Libs */,
);
name = Resources;
sourceTree = "<group>";
};
+ 1724CA3715F9EDC900AB2291 /* libpq */ = {
+ isa = PBXGroup;
+ children = (
+ 173D4EE015BACA3F0007F267 /* lib */,
+ 173D4EDF15BACA280007F267 /* include */,
+ );
+ path = libpq;
+ sourceTree = "<group>";
+ };
+ 1724CA3815F9EE1100AB2291 /* libpqtypes */ = {
+ isa = PBXGroup;
+ children = (
+ 1724CA3A15F9EE3600AB2291 /* lib */,
+ 1724CA3915F9EE2E00AB2291 /* include */,
+ );
+ path = libpqtypes;
+ sourceTree = "<group>";
+ };
+ 1724CA3915F9EE2E00AB2291 /* include */ = {
+ isa = PBXGroup;
+ children = (
+ 1724CA3B15F9EE7300AB2291 /* libpqtypes.h */,
+ );
+ path = include;
+ sourceTree = "<group>";
+ };
+ 1724CA3A15F9EE3600AB2291 /* lib */ = {
+ isa = PBXGroup;
+ children = (
+ 1724C9B715F9ED8600AB2291 /* libpqtypes.a */,
+ );
+ path = lib;
+ sourceTree = "<group>";
+ };
1731F50415F369E400D973EB /* Query */ = {
isa = PBXGroup;
children = (
@@ -227,13 +262,14 @@
name = Types;
sourceTree = "<group>";
};
- 173D4EDE15BACA090007F267 /* PostgreSQL */ = {
+ 173D4EDE15BACA090007F267 /* Libs */ = {
isa = PBXGroup;
children = (
- 173D4EDF15BACA280007F267 /* include */,
- 173D4EE015BACA3F0007F267 /* lib */,
+ 8DC2EF5A0486A6940098B216 /* Info.plist */,
+ 1724CA3715F9EDC900AB2291 /* libpq */,
+ 1724CA3815F9EE1100AB2291 /* libpqtypes */,
);
- name = PostgreSQL;
+ path = Libs;
sourceTree = "<group>";
};
173D4EDF15BACA280007F267 /* include */ = {
@@ -242,8 +278,7 @@
173D4EE315BACA900007F267 /* libpq-fe.h */,
173D4EE415BACA900007F267 /* postgres_ext.h */,
);
- name = include;
- path = PostgreSQL/include;
+ path = include;
sourceTree = "<group>";
};
173D4EE015BACA3F0007F267 /* lib */ = {
@@ -251,8 +286,7 @@
children = (
173D4EE115BACA700007F267 /* libpq.a */,
);
- name = lib;
- path = PostgreSQL/lib;
+ path = lib;
sourceTree = "<group>";
};
173D508D15BBD99B0007F267 /* Constants */ = {
@@ -308,8 +342,6 @@
173D4EA715BAB2A80007F267 /* FLXPostgresResult.h in Headers */,
173D4EA915BAB2A80007F267 /* FLXPostgresStatement.h in Headers */,
173D4EAB15BAB2A80007F267 /* PostgresKit.h in Headers */,
- 173D4EE515BACA900007F267 /* libpq-fe.h in Headers */,
- 173D4EE615BACA900007F267 /* postgres_ext.h in Headers */,
173D4F4515BAD22B0007F267 /* FLXPostgresTypeHandlerProtocol.h in Headers */,
173D4F5715BAD3030007F267 /* FLXPostgresTypes.h in Headers */,
173D508C15BBD98D0007F267 /* FLXConstants.h in Headers */,
@@ -458,7 +490,7 @@
INSTALL_PATH = "@executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/PostgreSQL/lib\"",
+ "\"$(SRCROOT)/Libs\"/**",
);
PRODUCT_NAME = PostgresKit;
WARNING_CFLAGS = "-Wmost";
@@ -509,7 +541,7 @@
INSTALL_PATH = "@executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/PostgreSQL/lib\"",
+ "\"$(SRCROOT)/Libs\"/**",
);
PRODUCT_NAME = PostgresKit;
WARNING_CFLAGS = "-Wmost";
@@ -554,7 +586,7 @@
INSTALL_PATH = "@executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/PostgreSQL/lib\"",
+ "\"$(SRCROOT)/Libs\"/**",
);
PRODUCT_NAME = PostgresKit;
WARNING_CFLAGS = "-Wmost";