Skip to content

Commit

Permalink
Try to get a proper build log
Browse files Browse the repository at this point in the history
  • Loading branch information
weiznich committed Dec 1, 2023
1 parent 1116fbc commit d47ca06
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 2 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,22 @@ jobs:
echo "C:\Program Files\PostgreSQL\12\bin" >> $GITHUB_PATH
echo "C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_PATH
echo "PQ_LIB_DIR=C:\Program Files\PostgreSQL\12\lib" >> $GITHUB_ENV
- name: Add msbuild to PATH
if: runner.os == 'Windows' && matrix.features == 'bundled'
uses: microsoft/[email protected]
with:
msbuild-architecture: x64
- name: Windows setup (bundled)
if: runner.os == 'Windows' && matrix.features == 'bundled'
shell: bash
run: |
echo "OPENSSL_RUST_USE_NASM=0" >> $GITHUB_ENV
echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV
echo "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin" >> $GITHUB_PATH
cd pq-src/source/
dir "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin"
./src/tools/msvc/build.bat libpq
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable

Expand All @@ -70,6 +86,7 @@ jobs:
shell: bash
run: |
cargo test --no-default-features --features "${{ matrix.features }}"
- name: Test compile diesel
shell: bash
run: |
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "pq-src/source"]
path = pq-src/source
url = https://github.com/postgres/postgres
url = https://github.com/weiznich/postgres
13 changes: 13 additions & 0 deletions pq-src/additional_include/pg_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,22 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

// that function does not exist on macos
#ifndef __APPLE__
/* Define to 1 if you have the `strchrnul' function. */
#define HAVE_STRCHRNUL 1
#endif

/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1

// windows does not have that header
#ifndef _WIN32
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

#endif

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

Expand Down Expand Up @@ -126,8 +133,10 @@
/* Define to the version of this package. */
#define PACKAGE_VERSION "16.0"

#ifndef _WIN32
/* Define to the name of a signed 128-bit integer type. */
#define PG_INT128_TYPE __int128
#endif

/* Define to the name of a signed 64-bit integer type. */
#define PG_INT64_TYPE long int
Expand Down Expand Up @@ -250,3 +259,7 @@

/* Define to the appropriate printf length modifier for 64-bit ints. */
#define INT64_MODIFIER "l"

#if defined _WIN32
#define HAVE_INET_ATON 1
#endif
26 changes: 26 additions & 0 deletions pq-src/build.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
use std::path::PathBuf;

const LIBPORTS: &'static [&'static str] = &[
#[cfg(target_os = "linux")]
"getpeereid.c",
"strlcat.c",
"strlcpy.c",
"snprintf.c",
"pg_crc32c_sb8.c",
"bsearch_arg.c",
"chklocale.c",
#[cfg(not(target_os = "windows"))]
"inet_net_ntop.c",
"noblock.c",
"pg_bitutils.c",
#[cfg(not(target_os = "windows"))]
"pg_strong_random.c",
#[cfg(not(target_os = "windows"))]
"pgcheckdir.c",
#[cfg(not(target_os = "windows"))]
"pgmkdirp.c",
"pgsleep.c",
"pgstrcasecmp.c",
Expand All @@ -22,14 +27,19 @@ const LIBPORTS: &'static [&'static str] = &[
"quotes.c",
"strerror.c",
"tar.c",
#[cfg(not(target_os = "windows"))]
"thread.c",
#[cfg(target_os = "macos")]
"explicit_bzero.c",
];

const LIBCOMMON: &'static [&'static str] = &[
"file_perm.c",
#[cfg(not(target_os = "windows"))]
"encnames.c",
"base64.c",
"scram-common.c",
#[cfg(not(target_os = "windows"))]
"ip.c",
"jsonapi.c",
"kwlookup.c",
Expand All @@ -39,22 +49,30 @@ const LIBCOMMON: &'static [&'static str] = &[
"pg_get_line.c",
"pg_lzcompress.c",
"pg_prng.c",
#[cfg(not(target_os = "windows"))]
"pgfnames.c",
"psprintf.c",
#[cfg(not(target_os = "windows"))]
"rmtree.c",
"saslprep.c",
"string.c",
"stringinfo.c",
"unicode_norm.c",
#[cfg(not(target_os = "windows"))]
"username.c",
#[cfg(not(target_os = "windows"))]
"wait_error.c",
"wchar.c",
#[cfg(not(target_os = "windows"))]
"cryptohash_openssl.c",
#[cfg(not(target_os = "windows"))]
"hmac_openssl.c",
#[cfg(not(target_os = "windows"))]
"protocol_openssl.c",
"fe_memutils.c",
"restricted_token.c",
"sprompt.c",
#[cfg(not(target_os = "windows"))]
"logging.c",
];

Expand Down Expand Up @@ -129,6 +147,14 @@ fn main() {
if cfg!(target_os = "linux") {
basic_build.define("_GNU_SOURCE", None);
}
if cfg!(target_os = "macos") {
// something is broken in homebrew
// https://github.com/Homebrew/legacy-homebrew/pull/23620
basic_build.define("_FORTIFY_SOURCE", Some("0"));
}
if cfg!(target_os = "windows") {
basic_build.define("WIN32", None);
}

basic_build
.clone()
Expand Down
2 changes: 1 addition & 1 deletion pq-src/source

0 comments on commit d47ca06

Please sign in to comment.