Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions ports/libpq/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,22 @@ include src/Makefile.global

.NOTPARALLEL:

ifeq ($(LIBPQ_LIBRARY_TYPE), shared)
LIBPQ_LIB_SUFFIX = _shlib
endif

ifeq ($(LIBPQ_LIBRARY_TYPE), static)
LIBPQ_INSTALL_LIBS = install-stlib
endif

ifeq ($(LIBPQ_LIBRARY_TYPE), shared)
ifeq ($(USING_MINGW), yes)
# The import library name is the same as the static library name
EXTRA_TARGET = install-lib-static
endif
endif

.PHONY: all
all:
$(MAKE) -C src/include MAKELEVEL=0
$(MAKE) -C src/common MAKELEVEL=0 libpgcommon$(LIBPQ_LIB_SUFFIX).a
$(MAKE) -C src/port MAKELEVEL=0 libpgport$(LIBPQ_LIB_SUFFIX).a
$(MAKE) -C src/common MAKELEVEL=0
$(MAKE) -C src/port MAKELEVEL=0
Comment thread
JackBoosY marked this conversation as resolved.
$(MAKE) -C src/interfaces/libpq MAKELEVEL=0 all-$(LIBPQ_LIBRARY_TYPE)-lib
$(MAKE) -C src/bin/pg_config MAKELEVEL=0

Expand All @@ -30,5 +33,5 @@ install-stlib:
.PHONY: install
install: $(LIBPQ_INSTALL_LIBS)
$(MAKE) -C src/include MAKELEVEL=0 install
$(MAKE) -C src/interfaces/libpq MAKELEVEL=0 install-lib-$(LIBPQ_LIBRARY_TYPE) install-lib-pc install -o all -o install-lib
$(MAKE) -C src/interfaces/libpq MAKELEVEL=0 $(EXTRA_TARGET) install-lib-$(LIBPQ_LIBRARY_TYPE) install-lib-pc install -o all -o install-lib
$(MAKE) -C src/bin/pg_config MAKELEVEL=0 install
186 changes: 186 additions & 0 deletions ports/libpq/patches/mingw/additional-zlib-names.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
diff --git a/configure b/configure
index c22d3de..75210f0 100755
--- a/configure
+++ b/configure
@@ -11777,13 +11789,13 @@ Use --without-readline to disable readline support." "$LINENO" 5
fi

if test "$with_zlib" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5
-$as_echo_n "checking for inflate in -lz... " >&6; }
-if ${ac_cv_lib_z_inflate+:} false; then :
+ if test "$enable_debug" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inflate" >&5
+$as_echo_n "checking for library containing inflate... " >&6; }
+if ${ac_cv_search_inflate+:} false; then :
$as_echo_n "(cached) " >&6
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz $LIBS"
+ ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

@@ -11802,23 +11814,101 @@ return inflate ();
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_z_inflate=yes
-else
- ac_cv_lib_z_inflate=no
+for ac_lib in '' zd zlibd zlib1d z zlib zlib1; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_inflate=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+ conftest$ac_exeext
+ if ${ac_cv_search_inflate+:} false; then :
+ break
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5
-$as_echo "$ac_cv_lib_z_inflate" >&6; }
-if test "x$ac_cv_lib_z_inflate" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBZ 1
+done
+if ${ac_cv_search_inflate+:} false; then :
+
+else
+ ac_cv_search_inflate=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inflate" >&5
+$as_echo "$ac_cv_search_inflate" >&6; }
+ac_res=$ac_cv_search_inflate
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+$as_echo "#define HAVE_LIBZ 1" >>confdefs.h
+
+else
+ as_fn_error $? "zlib library not found
+If you have zlib already installed, see config.log for details on the
+failure. It is possible the compiler isn't looking in the proper directory.
+Use --without-zlib to disable zlib support." "$LINENO" 5
+fi
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inflate" >&5
+$as_echo_n "checking for library containing inflate... " >&6; }
+if ${ac_cv_search_inflate+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inflate ();
+int
+main ()
+{
+return inflate ();
+ ;
+ return 0;
+}
_ACEOF
+for ac_lib in '' z zlib zlib1; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_inflate=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_inflate+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_inflate+:} false; then :

- LIBS="-lz $LIBS"
+else
+ ac_cv_search_inflate=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inflate" >&5
+$as_echo "$ac_cv_search_inflate" >&6; }
+ac_res=$ac_cv_search_inflate
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+$as_echo "#define HAVE_LIBZ 1" >>confdefs.h

else
as_fn_error $? "zlib library not found
@@ -11827,6 +11917,7 @@ failure. It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support." "$LINENO" 5
fi

+ fi
fi

if test "$enable_spinlocks" = yes; then
diff --git a/configure.in b/configure.in
index 976f90d..e3cd80b 100644
--- a/configure.in
+++ b/configure.in
@@ -1170,11 +1170,21 @@ Use --without-readline to disable readline support.])
fi

if test "$with_zlib" = yes; then
- AC_CHECK_LIB(z, inflate, [],
- [AC_MSG_ERROR([zlib library not found
+ if test "$enable_debug" = yes; then
+ AC_SEARCH_LIBS(inflate, [zd zlibd zlib1d z zlib zlib1],
+ [AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the `z' library.])],
+ [AC_MSG_ERROR([zlib library not found
If you have zlib already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.])])
+ else
+ AC_SEARCH_LIBS(inflate, [z zlib zlib1],
+ [AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the `z' library.])],
+ [AC_MSG_ERROR([zlib library not found
+If you have zlib already installed, see config.log for details on the
+failure. It is possible the compiler isn't looking in the proper directory.
+Use --without-zlib to disable zlib support.])])
+ fi
fi

if test "$enable_spinlocks" = yes; then
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 244886a..29dd35b 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -374,7 +374,7 @@
/* Define to 1 if you have the `xslt' library (-lxslt). */
#undef HAVE_LIBXSLT

-/* Define to 1 if you have the `z' library (-lz). */
+/* Define to 1 if you have the `z' library. */
#undef HAVE_LIBZ

/* Define to 1 if the system has the type `locale_t'. */
33 changes: 25 additions & 8 deletions ports/libpq/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,14 @@ set(PATCHES
patches/windows/MSBuildProject_fix_gendef_perl.patch
patches/windows/msgfmt.patch
patches/windows/python_lib.patch
patches/windows/fix-compile-flag-Zi.patch
patches/linux/configure.patch)
patches/windows/fix-compile-flag-Zi.patch)

if(VCPKG_TARGET_IS_MINGW)
list(APPEND PATCHES patches/mingw/additional-zlib-names.patch)
endif()
if(VCPKG_TARGET_IS_LINUX)
list(APPEND PATCHES patches/linux/configure.patch)
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
list(APPEND PATCHES patches/windows/MSBuildProject-static-lib.patch)
list(APPEND PATCHES patches/windows/Mkvcbuild-static-lib.patch)
Expand Down Expand Up @@ -107,7 +112,7 @@ endif()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT})

## Do the build
if(VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
file(GLOB SOURCE_FILES ${SOURCE_PATH}/*)
foreach(_buildtype ${port_config_list})
# Copy libpq sources.
Expand Down Expand Up @@ -274,13 +279,10 @@ else()
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
COPY_SOURCE
DETERMINE_BUILD_TRIPLET
OPTIONS
${BUILD_OPTS}
--with-includes=${CURRENT_INSTALLED_DIR}/include
OPTIONS_RELEASE
--with-libraries=${CURRENT_INSTALLED_DIR}/lib
OPTIONS_DEBUG
--with-libraries=${CURRENT_INSTALLED_DIR}/debug/lib
--enable-debug
)

Expand All @@ -289,6 +291,9 @@ else()
else()
set(ENV{LIBPQ_LIBRARY_TYPE} static)
endif()
if(VCPKG_TARGET_IS_MINGW)
set(ENV{USING_MINGW} yes)
endif()
vcpkg_install_make()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
Expand All @@ -300,7 +305,19 @@ else()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug)
endif()
set(USE_DL ON)
if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpq.a ${CURRENT_PACKAGES_DIR}/lib/libpq.dll.a)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.a ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll.a)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpq.dll ${CURRENT_PACKAGES_DIR}/bin/libpq.dll)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libpq.dll)
Comment thread
JackBoosY marked this conversation as resolved.
Outdated
endif()
if(VCPKG_TARGET_IS_MINGW)
set(USE_DL OFF)
else()
set(USE_DL ON)
endif()
endif()

configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/postgresql/vcpkg-cmake-wrapper.cmake @ONLY)
Expand Down
2 changes: 1 addition & 1 deletion ports/libpq/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "libpq",
"version": "12.2",
"port-version": 13,
"port-version": 14,
"description": "The official database access API of postgresql",
"homepage": "https://www.postgresql.org/",
"supports": "!uwp",
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3366,7 +3366,7 @@
},
"libpq": {
"baseline": "12.2",
"port-version": 13
"port-version": 14
},
"libpqxx": {
"baseline": "7.3.1",
Expand Down
5 changes: 5 additions & 0 deletions versions/l-/libpq.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c3a83ddd3e5c31a0ca7275502b90df19d1f3005b",
"version": "12.2",
"port-version": 14
},
{
"git-tree": "740637e4b7da153db5afc1a568f6411ff88167c9",
"version": "12.2",
Expand Down