12 #ifndef PQXX_H_COMPILER_PUBLIC
13 #define PQXX_H_COMPILER_PUBLIC
16 #include "pqxx/config-public-compiler.h"
23 #if defined(PQXX_HAVE_GCC_PURE)
25 # define PQXX_PURE __attribute__((pure))
38 # if defined(PQXX_SHARED) && !defined(PQXX_LIBEXPORT)
39 # define PQXX_LIBEXPORT __declspec(dllimport)
47 # define PQXX_NOVTABLE __declspec(novtable)
53 # if defined(PQXX_AUTOLINK)
54 # if defined(PQXX_PQ_STATIC)
56 # pragma comment(lib, "libpqd")
58 # pragma comment(lib, "libpq")
62 # pragma comment(lib, "libpqddll")
64 # pragma comment(lib, "libpqdll")
77 # if defined(PQXX_AUTOLINK) && !defined(PQXX_INTERNAL)
80 # pragma comment(lib, "libpqxxD")
82 # pragma comment(lib, "libpqxx")
86 # pragma comment(lib, "libpqxx_staticD")
88 # pragma comment(lib, "libpqxx_static")
95 #elif defined(PQXX_HAVE_GCC_VISIBILITY)
97 # define PQXX_LIBEXPORT __attribute__((visibility("default")))
98 # define PQXX_PRIVATE __attribute__((visibility("hidden")))
103 #ifndef PQXX_LIBEXPORT
104 # define PQXX_LIBEXPORT
108 # define PQXX_PRIVATE
111 #ifndef PQXX_NOVTABLE
112 # define PQXX_NOVTABLE
116 #if defined(PQXX_HAVE_LIKELY)
117 # define PQXX_LIKELY [[likely]]
118 # define PQXX_UNLIKELY [[unlikely]]
121 # define PQXX_UNLIKELY