mirror of https://github.com/citusdata/citus.git
Add appveyor.yml, support builds on Windows
parent
f8f0d4aedc
commit
adb4669d34
114
Makefile
114
Makefile
|
@ -1,5 +1,119 @@
|
||||||
# Citus toplevel Makefile
|
# Citus toplevel Makefile
|
||||||
|
|
||||||
|
EXTENSION = citus
|
||||||
|
DATA = citus--7.0-15.sql
|
||||||
|
|
||||||
|
|
||||||
|
MODULE_big = citus
|
||||||
|
|
||||||
|
OBJS = src/backend/distributed/shared_library_init.o \
|
||||||
|
src/backend/distributed/commands/create_distributed_table.o \
|
||||||
|
src/backend/distributed/commands/drop_distributed_table.o \
|
||||||
|
src/backend/distributed/commands/multi_copy.o \
|
||||||
|
src/backend/distributed/commands/transmit.o \
|
||||||
|
src/backend/distributed/connection/connection_management.o \
|
||||||
|
src/backend/distributed/connection/placement_connection.o \
|
||||||
|
src/backend/distributed/connection/remote_commands.o \
|
||||||
|
src/backend/distributed/executor/citus_custom_scan.o \
|
||||||
|
src/backend/distributed/executor/insert_select_executor.o \
|
||||||
|
src/backend/distributed/executor/intermediate_results.o \
|
||||||
|
src/backend/distributed/executor/multi_client_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_real_time_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_router_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_server_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_task_tracker_executor.o \
|
||||||
|
src/backend/distributed/executor/multi_utility.o \
|
||||||
|
src/backend/distributed/executor/subplan_execution.o \
|
||||||
|
src/backend/distributed/master/citus_create_restore_point.o \
|
||||||
|
src/backend/distributed/master/master_citus_tools.o \
|
||||||
|
src/backend/distributed/master/master_create_shards.o \
|
||||||
|
src/backend/distributed/master/master_delete_protocol.o \
|
||||||
|
src/backend/distributed/master/master_expire_table_cache.o \
|
||||||
|
src/backend/distributed/master/master_metadata_utility.o \
|
||||||
|
src/backend/distributed/master/master_modify_multiple_shards.o \
|
||||||
|
src/backend/distributed/master/master_node_protocol.o \
|
||||||
|
src/backend/distributed/master/master_repair_shards.o \
|
||||||
|
src/backend/distributed/master/master_split_shards.o \
|
||||||
|
src/backend/distributed/master/master_stage_protocol.o \
|
||||||
|
src/backend/distributed/master/master_truncate.o \
|
||||||
|
src/backend/distributed/master/worker_node_manager.o \
|
||||||
|
src/backend/distributed/metadata/metadata_sync.o \
|
||||||
|
src/backend/distributed/planner/deparse_shard_query.o \
|
||||||
|
src/backend/distributed/planner/distributed_planner.o \
|
||||||
|
src/backend/distributed/planner/insert_select_planner.o \
|
||||||
|
src/backend/distributed/planner/multi_explain.o \
|
||||||
|
src/backend/distributed/planner/multi_join_order.o \
|
||||||
|
src/backend/distributed/planner/multi_logical_optimizer.o \
|
||||||
|
src/backend/distributed/planner/multi_logical_planner.o \
|
||||||
|
src/backend/distributed/planner/multi_master_planner.o \
|
||||||
|
src/backend/distributed/planner/multi_physical_planner.o \
|
||||||
|
src/backend/distributed/planner/query_colocation_checker.o \
|
||||||
|
src/backend/distributed/planner/multi_router_planner.o \
|
||||||
|
src/backend/distributed/planner/postgres_planning_functions.o \
|
||||||
|
src/backend/distributed/planner/recursive_planning.o \
|
||||||
|
src/backend/distributed/planner/relation_restriction_equivalence.o \
|
||||||
|
src/backend/distributed/planner/shard_pruning.o \
|
||||||
|
src/backend/distributed/progress/multi_progress.o \
|
||||||
|
src/backend/distributed/relay/relay_event_utility.o \
|
||||||
|
src/backend/distributed/test/colocation_utils.o \
|
||||||
|
src/backend/distributed/test/create_shards.o \
|
||||||
|
src/backend/distributed/test/deparse_shard_query.o \
|
||||||
|
src/backend/distributed/test/distributed_deadlock_detection.o \
|
||||||
|
src/backend/distributed/test/distribution_metadata.o \
|
||||||
|
src/backend/distributed/test/fake_fdw.o \
|
||||||
|
src/backend/distributed/test/generate_ddl_commands.o \
|
||||||
|
src/backend/distributed/test/metadata_sync.o \
|
||||||
|
src/backend/distributed/test/partitioning_utils.o \
|
||||||
|
src/backend/distributed/test/progress_utils.o \
|
||||||
|
src/backend/distributed/test/prune_shard_list.o \
|
||||||
|
src/backend/distributed/transaction/backend_data.o \
|
||||||
|
src/backend/distributed/transaction/distributed_deadlock_detection.o \
|
||||||
|
src/backend/distributed/transaction/lock_graph.o \
|
||||||
|
src/backend/distributed/transaction/multi_shard_transaction.o \
|
||||||
|
src/backend/distributed/transaction/remote_transaction.o \
|
||||||
|
src/backend/distributed/transaction/transaction_management.o \
|
||||||
|
src/backend/distributed/transaction/transaction_recovery.o \
|
||||||
|
src/backend/distributed/transaction/worker_transaction.o \
|
||||||
|
src/backend/distributed/utils/citus_clauses.o \
|
||||||
|
src/backend/distributed/utils/citus_copyfuncs.o \
|
||||||
|
src/backend/distributed/utils/citus_nodefuncs.o \
|
||||||
|
src/backend/distributed/utils/citus_outfuncs.o \
|
||||||
|
src/backend/distributed/utils/citus_readfuncs.o \
|
||||||
|
src/backend/distributed/utils/citus_ruleutils.o \
|
||||||
|
src/backend/distributed/utils/colocation_utils.o \
|
||||||
|
src/backend/distributed/utils/distribution_column.o \
|
||||||
|
src/backend/distributed/utils/errormessage.o \
|
||||||
|
src/backend/distributed/utils/hash_helpers.o \
|
||||||
|
src/backend/distributed/utils/listutils.o \
|
||||||
|
src/backend/distributed/utils/maintenanced.o \
|
||||||
|
src/backend/distributed/utils/metadata_cache.o \
|
||||||
|
src/backend/distributed/utils/multi_partitioning_utils.o \
|
||||||
|
src/backend/distributed/utils/multi_resowner.o \
|
||||||
|
src/backend/distributed/utils/node_metadata.o \
|
||||||
|
src/backend/distributed/utils/reference_table_utils.o \
|
||||||
|
src/backend/distributed/utils/resource_lock.o \
|
||||||
|
src/backend/distributed/utils/ruleutils_10.o \
|
||||||
|
src/backend/distributed/utils/ruleutils_96.o \
|
||||||
|
src/backend/distributed/utils/shardinterval_utils.o \
|
||||||
|
src/backend/distributed/utils/statistics_collection.o \
|
||||||
|
src/backend/distributed/worker/task_tracker.o \
|
||||||
|
src/backend/distributed/worker/task_tracker_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_data_fetch_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_drop_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_file_access_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_merge_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_partition_protocol.o \
|
||||||
|
src/backend/distributed/worker/worker_truncate_trigger_protocol.o \
|
||||||
|
$(WIN32RES)
|
||||||
|
|
||||||
|
EXTENSION=
|
||||||
|
DATA=
|
||||||
|
MODULE_big=
|
||||||
|
OBJS=
|
||||||
|
|
||||||
|
# the above is so that builds can work on Windows, the below is for all other platforms
|
||||||
|
|
||||||
citus_subdir = .
|
citus_subdir = .
|
||||||
citus_top_builddir = .
|
citus_top_builddir = .
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
# Notes:
|
||||||
|
# - Minimal appveyor.yml file is an empty file. All sections are optional.
|
||||||
|
# - Indent each level of configuration with 2 spaces. Do not use tabs!
|
||||||
|
# - All section names are case-sensitive.
|
||||||
|
# - Section names should be unique on each level.
|
||||||
|
# - Full sample file at: https://www.appveyor.com/docs/appveyor-yml/
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# general configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
version: 1.0.{build}-{branch}
|
||||||
|
|
||||||
|
# Maximum number of concurrent jobs for the project
|
||||||
|
max_jobs: 1
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# environment configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
cache:
|
||||||
|
- C:\tools\vcpkg\installed\
|
||||||
|
- C:\tools\vcpkg\packages\
|
||||||
|
|
||||||
|
# Build worker image (VM template)
|
||||||
|
image: Visual Studio 2017
|
||||||
|
|
||||||
|
# save the cache even if the build fails
|
||||||
|
environment:
|
||||||
|
VCPKG_DIR: C:\tools\vcpkg
|
||||||
|
APPVEYOR_SAVE_CACHE_ON_ERROR: true
|
||||||
|
|
||||||
|
# scripts that are called at very beginning, before repo cloning
|
||||||
|
init:
|
||||||
|
- git config --global core.autocrlf input
|
||||||
|
|
||||||
|
# clone directory
|
||||||
|
clone_folder: c:\projects\citus
|
||||||
|
|
||||||
|
# doesn't checkout the entire history, uses github API to download a zip of the repo
|
||||||
|
shallow_clone: true # default is "false"
|
||||||
|
|
||||||
|
# scripts which run after cloning repository
|
||||||
|
install:
|
||||||
|
# add flex/bison to path
|
||||||
|
- set PATH=%PATH%;C:\msys64\usr\bin
|
||||||
|
- flex --version
|
||||||
|
- bison --version
|
||||||
|
# make postgres think we're a contrib module
|
||||||
|
- git clone -b REL_10_STABLE https://github.com/postgres/postgres C:\projects\postgres
|
||||||
|
- git -C C:\projects\postgres apply C:\projects\citus\windows\Mkvcbuild.pm.patch
|
||||||
|
# temporary hack: mark enable_hashagg PGDLLIMPORT
|
||||||
|
- git -C C:\projects\postgres cherry-pick 935dee9ad5a8d12f4d3b772a6e6c99d245e5ad44 & exit 0
|
||||||
|
# an even bigger hack, this file has a merge conflict so skip it
|
||||||
|
- git -C C:\projects\postgres reset src\include\optimizer\cost.h
|
||||||
|
- git -C C:\projects\postgres checkout src\include\optimizer\cost.h
|
||||||
|
# only build Citus, don't build the other contrib modules
|
||||||
|
- git -C C:\projects\postgres apply C:\projects\citus\windows\Mkvcbuild-minimize.patch
|
||||||
|
- rmdir /s /q C:\projects\postgres\contrib
|
||||||
|
- mkdir C:\projects\postgres\contrib
|
||||||
|
- xcopy /i /e C:\projects\citus C:\projects\postgres\contrib\citus
|
||||||
|
- '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"'
|
||||||
|
# we need this for usage reporting
|
||||||
|
- vcpkg install curl:x64-windows & exit 0
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# build configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
platform: x64
|
||||||
|
configuration:
|
||||||
|
- Release
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: cd C:\projects\postgres\src\tools\msvc
|
||||||
|
- build RELEASE
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# tests configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
# disable automatic tests
|
||||||
|
test: off
|
|
@ -0,0 +1,254 @@
|
||||||
|
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
index 93f364a..d1b0968 100644
|
||||||
|
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
@@ -344,66 +344,66 @@ sub mkvcbuild
|
||||||
|
AddSimpleFrontend($d);
|
||||||
|
}
|
||||||
|
|
||||||
|
- my $pgbasebackup = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
- $pgbasebackup->AddFile('src/bin/pg_basebackup/pg_basebackup.c');
|
||||||
|
- $pgbasebackup->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $pgreceivewal = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
- $pgreceivewal->{name} = 'pg_receivewal';
|
||||||
|
- $pgreceivewal->AddFile('src/bin/pg_basebackup/pg_receivewal.c');
|
||||||
|
- $pgreceivewal->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $pgrecvlogical = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
- $pgrecvlogical->{name} = 'pg_recvlogical';
|
||||||
|
- $pgrecvlogical->AddFile('src/bin/pg_basebackup/pg_recvlogical.c');
|
||||||
|
- $pgrecvlogical->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $pgrewind = AddSimpleFrontend('pg_rewind', 1);
|
||||||
|
- $pgrewind->{name} = 'pg_rewind';
|
||||||
|
- $pgrewind->AddFile('src/backend/access/transam/xlogreader.c');
|
||||||
|
- $pgrewind->AddLibrary('ws2_32.lib');
|
||||||
|
- $pgrewind->AddDefine('FRONTEND');
|
||||||
|
-
|
||||||
|
- my $pgevent = $solution->AddProject('pgevent', 'dll', 'bin');
|
||||||
|
- $pgevent->AddFiles('src/bin/pgevent', 'pgevent.c', 'pgmsgevent.rc');
|
||||||
|
- $pgevent->AddResourceFile('src/bin/pgevent', 'Eventlog message formatter',
|
||||||
|
- 'win32');
|
||||||
|
- $pgevent->RemoveFile('src/bin/pgevent/win32ver.rc');
|
||||||
|
- $pgevent->UseDef('src/bin/pgevent/pgevent.def');
|
||||||
|
- $pgevent->DisableLinkerWarnings('4104');
|
||||||
|
-
|
||||||
|
- my $pgdump = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
- $pgdump->AddIncludeDir('src/backend');
|
||||||
|
- $pgdump->AddFile('src/bin/pg_dump/pg_dump.c');
|
||||||
|
- $pgdump->AddFile('src/bin/pg_dump/common.c');
|
||||||
|
- $pgdump->AddFile('src/bin/pg_dump/pg_dump_sort.c');
|
||||||
|
- $pgdump->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $pgdumpall = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
-
|
||||||
|
- # pg_dumpall doesn't use the files in the Makefile's $(OBJS), unlike
|
||||||
|
- # pg_dump and pg_restore.
|
||||||
|
- # So remove their sources from the object, keeping the other setup that
|
||||||
|
- # AddSimpleFrontend() has done.
|
||||||
|
- my @nodumpall = grep { m!src/bin/pg_dump/.*\.c$! }
|
||||||
|
- keys %{ $pgdumpall->{files} };
|
||||||
|
- delete @{ $pgdumpall->{files} }{@nodumpall};
|
||||||
|
- $pgdumpall->{name} = 'pg_dumpall';
|
||||||
|
- $pgdumpall->AddIncludeDir('src/backend');
|
||||||
|
- $pgdumpall->AddFile('src/bin/pg_dump/pg_dumpall.c');
|
||||||
|
- $pgdumpall->AddFile('src/bin/pg_dump/dumputils.c');
|
||||||
|
- $pgdumpall->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $pgrestore = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
- $pgrestore->{name} = 'pg_restore';
|
||||||
|
- $pgrestore->AddIncludeDir('src/backend');
|
||||||
|
- $pgrestore->AddFile('src/bin/pg_dump/pg_restore.c');
|
||||||
|
- $pgrestore->AddLibrary('ws2_32.lib');
|
||||||
|
-
|
||||||
|
- my $zic = $solution->AddProject('zic', 'exe', 'utils');
|
||||||
|
- $zic->AddFiles('src/timezone', 'zic.c');
|
||||||
|
- $zic->AddDirResourceFile('src/timezone');
|
||||||
|
- $zic->AddReference($libpgcommon, $libpgport);
|
||||||
|
+# my $pgbasebackup = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
+# $pgbasebackup->AddFile('src/bin/pg_basebackup/pg_basebackup.c');
|
||||||
|
+# $pgbasebackup->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $pgreceivewal = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
+# $pgreceivewal->{name} = 'pg_receivewal';
|
||||||
|
+# $pgreceivewal->AddFile('src/bin/pg_basebackup/pg_receivewal.c');
|
||||||
|
+# $pgreceivewal->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $pgrecvlogical = AddSimpleFrontend('pg_basebackup', 1);
|
||||||
|
+# $pgrecvlogical->{name} = 'pg_recvlogical';
|
||||||
|
+# $pgrecvlogical->AddFile('src/bin/pg_basebackup/pg_recvlogical.c');
|
||||||
|
+# $pgrecvlogical->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $pgrewind = AddSimpleFrontend('pg_rewind', 1);
|
||||||
|
+# $pgrewind->{name} = 'pg_rewind';
|
||||||
|
+# $pgrewind->AddFile('src/backend/access/transam/xlogreader.c');
|
||||||
|
+# $pgrewind->AddLibrary('ws2_32.lib');
|
||||||
|
+# $pgrewind->AddDefine('FRONTEND');
|
||||||
|
+#
|
||||||
|
+# my $pgevent = $solution->AddProject('pgevent', 'dll', 'bin');
|
||||||
|
+# $pgevent->AddFiles('src/bin/pgevent', 'pgevent.c', 'pgmsgevent.rc');
|
||||||
|
+# $pgevent->AddResourceFile('src/bin/pgevent', 'Eventlog message formatter',
|
||||||
|
+# 'win32');
|
||||||
|
+# $pgevent->RemoveFile('src/bin/pgevent/win32ver.rc');
|
||||||
|
+# $pgevent->UseDef('src/bin/pgevent/pgevent.def');
|
||||||
|
+# $pgevent->DisableLinkerWarnings('4104');
|
||||||
|
+#
|
||||||
|
+# my $pgdump = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
+# $pgdump->AddIncludeDir('src/backend');
|
||||||
|
+# $pgdump->AddFile('src/bin/pg_dump/pg_dump.c');
|
||||||
|
+# $pgdump->AddFile('src/bin/pg_dump/common.c');
|
||||||
|
+# $pgdump->AddFile('src/bin/pg_dump/pg_dump_sort.c');
|
||||||
|
+# $pgdump->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $pgdumpall = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
+#
|
||||||
|
+# # pg_dumpall doesn't use the files in the Makefile's $(OBJS), unlike
|
||||||
|
+# # pg_dump and pg_restore.
|
||||||
|
+# # So remove their sources from the object, keeping the other setup that
|
||||||
|
+# # AddSimpleFrontend() has done.
|
||||||
|
+# my @nodumpall = grep { m!src/bin/pg_dump/.*\.c$! }
|
||||||
|
+# keys %{ $pgdumpall->{files} };
|
||||||
|
+# delete @{ $pgdumpall->{files} }{@nodumpall};
|
||||||
|
+# $pgdumpall->{name} = 'pg_dumpall';
|
||||||
|
+# $pgdumpall->AddIncludeDir('src/backend');
|
||||||
|
+# $pgdumpall->AddFile('src/bin/pg_dump/pg_dumpall.c');
|
||||||
|
+# $pgdumpall->AddFile('src/bin/pg_dump/dumputils.c');
|
||||||
|
+# $pgdumpall->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $pgrestore = AddSimpleFrontend('pg_dump', 1);
|
||||||
|
+# $pgrestore->{name} = 'pg_restore';
|
||||||
|
+# $pgrestore->AddIncludeDir('src/backend');
|
||||||
|
+# $pgrestore->AddFile('src/bin/pg_dump/pg_restore.c');
|
||||||
|
+# $pgrestore->AddLibrary('ws2_32.lib');
|
||||||
|
+#
|
||||||
|
+# my $zic = $solution->AddProject('zic', 'exe', 'utils');
|
||||||
|
+# $zic->AddFiles('src/timezone', 'zic.c');
|
||||||
|
+# $zic->AddDirResourceFile('src/timezone');
|
||||||
|
+# $zic->AddReference($libpgcommon, $libpgport);
|
||||||
|
|
||||||
|
if (!$solution->{options}->{xml})
|
||||||
|
{
|
||||||
|
@@ -422,39 +422,39 @@ sub mkvcbuild
|
||||||
|
|
||||||
|
# AddProject() does not recognize the constructs used to populate OBJS in
|
||||||
|
# the pgcrypto Makefile, so it will discover no files.
|
||||||
|
- my $pgcrypto =
|
||||||
|
- $solution->AddProject('pgcrypto', 'dll', 'crypto', 'contrib/pgcrypto');
|
||||||
|
- $pgcrypto->AddFiles(
|
||||||
|
- 'contrib/pgcrypto', 'pgcrypto.c',
|
||||||
|
- 'px.c', 'px-hmac.c',
|
||||||
|
- 'px-crypt.c', 'crypt-gensalt.c',
|
||||||
|
- 'crypt-blowfish.c', 'crypt-des.c',
|
||||||
|
- 'crypt-md5.c', 'mbuf.c',
|
||||||
|
- 'pgp.c', 'pgp-armor.c',
|
||||||
|
- 'pgp-cfb.c', 'pgp-compress.c',
|
||||||
|
- 'pgp-decrypt.c', 'pgp-encrypt.c',
|
||||||
|
- 'pgp-info.c', 'pgp-mpi.c',
|
||||||
|
- 'pgp-pubdec.c', 'pgp-pubenc.c',
|
||||||
|
- 'pgp-pubkey.c', 'pgp-s2k.c',
|
||||||
|
- 'pgp-pgsql.c');
|
||||||
|
- if ($solution->{options}->{openssl})
|
||||||
|
- {
|
||||||
|
- $pgcrypto->AddFiles('contrib/pgcrypto', 'openssl.c',
|
||||||
|
- 'pgp-mpi-openssl.c');
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- $pgcrypto->AddFiles(
|
||||||
|
- 'contrib/pgcrypto', 'md5.c',
|
||||||
|
- 'sha1.c', 'internal.c',
|
||||||
|
- 'internal-sha2.c', 'blf.c',
|
||||||
|
- 'rijndael.c', 'pgp-mpi-internal.c',
|
||||||
|
- 'imath.c');
|
||||||
|
- }
|
||||||
|
- $pgcrypto->AddReference($postgres);
|
||||||
|
- $pgcrypto->AddLibrary('ws2_32.lib');
|
||||||
|
- my $mf = Project::read_file('contrib/pgcrypto/Makefile');
|
||||||
|
- GenerateContribSqlFiles('pgcrypto', $mf);
|
||||||
|
+# my $pgcrypto =
|
||||||
|
+# $solution->AddProject('pgcrypto', 'dll', 'crypto', 'contrib/pgcrypto');
|
||||||
|
+# $pgcrypto->AddFiles(
|
||||||
|
+# 'contrib/pgcrypto', 'pgcrypto.c',
|
||||||
|
+# 'px.c', 'px-hmac.c',
|
||||||
|
+# 'px-crypt.c', 'crypt-gensalt.c',
|
||||||
|
+# 'crypt-blowfish.c', 'crypt-des.c',
|
||||||
|
+# 'crypt-md5.c', 'mbuf.c',
|
||||||
|
+# 'pgp.c', 'pgp-armor.c',
|
||||||
|
+# 'pgp-cfb.c', 'pgp-compress.c',
|
||||||
|
+# 'pgp-decrypt.c', 'pgp-encrypt.c',
|
||||||
|
+# 'pgp-info.c', 'pgp-mpi.c',
|
||||||
|
+# 'pgp-pubdec.c', 'pgp-pubenc.c',
|
||||||
|
+# 'pgp-pubkey.c', 'pgp-s2k.c',
|
||||||
|
+# 'pgp-pgsql.c');
|
||||||
|
+# if ($solution->{options}->{openssl})
|
||||||
|
+# {
|
||||||
|
+# $pgcrypto->AddFiles('contrib/pgcrypto', 'openssl.c',
|
||||||
|
+# 'pgp-mpi-openssl.c');
|
||||||
|
+# }
|
||||||
|
+# else
|
||||||
|
+# {
|
||||||
|
+# $pgcrypto->AddFiles(
|
||||||
|
+# 'contrib/pgcrypto', 'md5.c',
|
||||||
|
+# 'sha1.c', 'internal.c',
|
||||||
|
+# 'internal-sha2.c', 'blf.c',
|
||||||
|
+# 'rijndael.c', 'pgp-mpi-internal.c',
|
||||||
|
+# 'imath.c');
|
||||||
|
+# }
|
||||||
|
+# $pgcrypto->AddReference($postgres);
|
||||||
|
+# $pgcrypto->AddLibrary('ws2_32.lib');
|
||||||
|
+# my $mf = Project::read_file('contrib/pgcrypto/Makefile');
|
||||||
|
+# GenerateContribSqlFiles('pgcrypto', $mf);
|
||||||
|
|
||||||
|
foreach my $subdir ('contrib', 'src/test/modules')
|
||||||
|
{
|
||||||
|
@@ -472,7 +472,8 @@ sub mkvcbuild
|
||||||
|
# Build Perl and Python modules after contrib/ modules to satisfy some
|
||||||
|
# dependencies with transform contrib modules, like hstore_plpython
|
||||||
|
# ltree_plpython and hstore_plperl.
|
||||||
|
- if ($solution->{options}->{python})
|
||||||
|
+# if ($solution->{options}->{python})
|
||||||
|
+ if (0)
|
||||||
|
{
|
||||||
|
|
||||||
|
# Attempt to get python version and location.
|
||||||
|
@@ -512,7 +513,8 @@ sub mkvcbuild
|
||||||
|
'PLPYTHON_LIBNAME="plpython' . $pymajorver . '"');
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ($solution->{options}->{perl})
|
||||||
|
+# if ($solution->{options}->{perl})
|
||||||
|
+ if (0)
|
||||||
|
{
|
||||||
|
my $plperlsrc = "src/pl/plperl/";
|
||||||
|
my $plperl =
|
||||||
|
@@ -748,7 +750,7 @@ sub mkvcbuild
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- $mf =
|
||||||
|
+ my $mf =
|
||||||
|
Project::read_file('src/backend/utils/mb/conversion_procs/Makefile');
|
||||||
|
$mf =~ s{\\\r?\n}{}g;
|
||||||
|
$mf =~ m{SUBDIRS\s*=\s*(.*)$}m
|
||||||
|
@@ -802,13 +804,13 @@ sub mkvcbuild
|
||||||
|
|
||||||
|
# fix up pg_waldump once it's been set up
|
||||||
|
# files symlinked on Unix are copied on windows
|
||||||
|
- my $pg_waldump = AddSimpleFrontend('pg_waldump');
|
||||||
|
- $pg_waldump->AddDefine('FRONTEND');
|
||||||
|
- foreach my $xf (glob('src/backend/access/rmgrdesc/*desc.c'))
|
||||||
|
- {
|
||||||
|
- $pg_waldump->AddFile($xf);
|
||||||
|
- }
|
||||||
|
- $pg_waldump->AddFile('src/backend/access/transam/xlogreader.c');
|
||||||
|
+# my $pg_waldump = AddSimpleFrontend('pg_waldump');
|
||||||
|
+# $pg_waldump->AddDefine('FRONTEND');
|
||||||
|
+# foreach my $xf (glob('src/backend/access/rmgrdesc/*desc.c'))
|
||||||
|
+# {
|
||||||
|
+# $pg_waldump->AddFile($xf);
|
||||||
|
+# }
|
||||||
|
+# $pg_waldump->AddFile('src/backend/access/transam/xlogreader.c');
|
||||||
|
|
||||||
|
$solution->Save();
|
||||||
|
return $solution->{vcver};
|
|
@ -0,0 +1,25 @@
|
||||||
|
commit 06672ddcdf3da7ba473b0907405133076dce8af2
|
||||||
|
Author: Brian Cloutier <github@briancloutier.com>
|
||||||
|
Date: Wed Nov 1 14:11:03 2017 -0700
|
||||||
|
|
||||||
|
Help postgres build the citus 'contrib' module
|
||||||
|
|
||||||
|
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
index 4c2e12e..82f3ab1 100644
|
||||||
|
--- a/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
+++ b/src/tools/msvc/Mkvcbuild.pm
|
||||||
|
@@ -31,11 +31,11 @@ my $libpq;
|
||||||
|
|
||||||
|
# Set of variables for modules in contrib/ and src/test/modules/
|
||||||
|
my $contrib_defines = { 'refint' => 'REFINT_VERBOSE' };
|
||||||
|
-my @contrib_uselibpq = ('dblink', 'oid2name', 'postgres_fdw', 'vacuumlo');
|
||||||
|
+my @contrib_uselibpq = ('citus', 'dblink', 'oid2name', 'postgres_fdw', 'vacuumlo');
|
||||||
|
my @contrib_uselibpgport = ('oid2name', 'pg_standby', 'vacuumlo');
|
||||||
|
my @contrib_uselibpgcommon = ('oid2name', 'pg_standby', 'vacuumlo');
|
||||||
|
-my $contrib_extralibs = undef;
|
||||||
|
-my $contrib_extraincludes = { 'dblink' => ['src/backend'] };
|
||||||
|
+my $contrib_extralibs = { 'citus' => ['ws2_32.lib']};
|
||||||
|
+my $contrib_extraincludes = { 'dblink' => ['src/backend'], 'citus' => ['contrib/citus/src/include', 'contrib/citus/windows/include'] };
|
||||||
|
my $contrib_extrasource = {
|
||||||
|
'cube' => [ 'contrib/cube/cubescan.l', 'contrib/cube/cubeparse.y' ],
|
||||||
|
'seg' => [ 'contrib/seg/segscan.l', 'contrib/seg/segparse.y' ], };
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* Citus full name as a string */
|
||||||
|
#define CITUS_NAME "Citus"
|
||||||
|
|
||||||
|
/* Citus edition as a string */
|
||||||
|
#define CITUS_EDITION "community"
|
||||||
|
|
||||||
|
/* Extension version expected by this Citus build */
|
||||||
|
#define CITUS_EXTENSIONVERSION "7.3-1"
|
||||||
|
|
||||||
|
/* Citus major version as a string */
|
||||||
|
#define CITUS_MAJORVERSION "7.3"
|
||||||
|
|
||||||
|
/* Citus version as a string */
|
||||||
|
#define CITUS_VERSION "7.3devel"
|
||||||
|
|
||||||
|
/* Citus version as a number */
|
||||||
|
#define CITUS_VERSION_NUM 70300
|
||||||
|
|
||||||
|
/* A string containing the version number, platform, and C compiler */
|
||||||
|
#define CITUS_VERSION_STR "Citus 7.3devel on x86_64-windows, compiled by Visual Studio"
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `curl' library (-lcurl). */
|
||||||
|
#define HAVE_LIBCURL 0
|
||||||
|
|
||||||
|
/* Base URL for statistics collection and update checks */
|
||||||
|
#define REPORTS_BASE_URL "https://reports.citusdata.com"
|
Loading…
Reference in New Issue