mirror of
https://github.com/postgres/postgres.git
synced 2026-03-16 07:32:54 -04:00
The preferred method is to use "cc -shared", and this allows binaries to be rebased if required, unlike dllwrap. Backpatch to 9.0 where we have buildfarm coverage. There are still some issues with Cygwin, especially modern Cygwin, but this helps us get closer to good support. Marco Atzeri.
46 lines
1.1 KiB
Makefile
46 lines
1.1 KiB
Makefile
DLLTOOL= dlltool
|
|
# src/makefiles/Makefile.cygwin
|
|
ifdef PGXS
|
|
BE_DLLLIBS= -L$(libdir) -lpostgres
|
|
else
|
|
BE_DLLLIBS= -L$(top_builddir)/src/backend -lpostgres
|
|
endif
|
|
|
|
# linking with -lm or -lc causes program to crash
|
|
# (see http://sources.redhat.com/cygwin/faq/faq.html#SEC110)
|
|
LIBS:=$(filter-out -lm -lc, $(LIBS))
|
|
|
|
AROPT = crs
|
|
DLSUFFIX = .dll
|
|
CFLAGS_SL =
|
|
|
|
ifneq (,$(findstring backend,$(subdir)))
|
|
ifeq (,$(findstring conversion_procs,$(subdir)))
|
|
ifeq (,$(findstring snowball,$(subdir)))
|
|
ifeq (,$(findstring libpqwalreceiver,$(subdir)))
|
|
override CPPFLAGS+= -DBUILDING_DLL
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(findstring src/common,$(subdir)))
|
|
override CPPFLAGS+= -DBUILDING_DLL
|
|
endif
|
|
|
|
ifneq (,$(findstring timezone,$(subdir)))
|
|
override CPPFLAGS+= -DBUILDING_DLL
|
|
endif
|
|
|
|
ifneq (,$(findstring ecpg/ecpglib,$(subdir)))
|
|
override CPPFLAGS+= -DBUILDING_DLL
|
|
endif
|
|
|
|
# required by Python headers
|
|
ifneq (,$(findstring src/pl/plpython,$(subdir)))
|
|
override CPPFLAGS+= -DUSE_DL_IMPORT
|
|
endif
|
|
|
|
# Rule for building a shared library from a single .o file
|
|
%.dll: %.o
|
|
$(CC) $(CFLAGS) -shared -o $@ $< $(LDFLAGS) $(LDFLAGS_SL) $(BE_DLLLIBS)
|