libpurple/win32/global.mak

Thu, 13 Feb 2014 20:11:13 +0100

author
Tomasz Wasilczyk <twasilczyk@pidgin.im>
date
Thu, 13 Feb 2014 20:11:13 +0100
changeset 35559
061c2ae3679c
parent 35265
77664079d0f0
child 35605
8a0ae6cc73fc
permissions
-rw-r--r--

Fix the build again

3711
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
1 #
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
2 # global.mak
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
3 #
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
4 # This file should be included by all Makefile.mingw files for project
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
5 # wide definitions (after correctly defining PIDGIN_TREE_TOP).
3711
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
6 #
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
7
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
8 #include optional $(PIDGIN_TREE_TOP)/local.mak to allow overriding of any definitions
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
9 -include $(PIDGIN_TREE_TOP)/local.mak
15517
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
10
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
11 # Locations of our various dependencies
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
12 WIN32_DEV_TOP ?= $(PIDGIN_TREE_TOP)/../win32-dev
33861
71533f0d5dc0 win32: switch to OBS, update and push to runtime-deps package - libenchant, gtkspell, meanwhile, tcl
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33860
diff changeset
13 GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0
71533f0d5dc0 win32: switch to OBS, update and push to runtime-deps package - libenchant, gtkspell, meanwhile, tcl
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33860
diff changeset
14 ENCHANT_TOP ?= $(WIN32_DEV_TOP)/enchant-1.6
35139
c30787ce6256 Use external libgadu for win32 build and update some dependencies. Refs #343
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35136
diff changeset
15 GNUTLS_TOP ?= $(WIN32_DEV_TOP)/gnutls-3.1
33864
0251dc8f7e2f win32: make devel path names consistent
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33861
diff changeset
16 GTK_TOP ?= $(WIN32_DEV_TOP)/gtk2-2.24
15517
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
17 GTK_BIN ?= $(GTK_TOP)/bin
33875
9fdba61fdf51 win32: make dev directories naming consistent
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33874
diff changeset
18 BONJOUR_TOP ?= $(WIN32_DEV_TOP)/bonjour-sdk
33854
5744cfb1c3d1 Fix 3.0.0 compilation for win32, switch gtk (and others) runtimes from gnome.org to opensuse build service
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33822
diff changeset
19 JSON_GLIB_TOP ?= $(WIN32_DEV_TOP)/json-glib-0.14
33869
65c29307e55d win32: upgrade libxml2; switch to OBS and temporarily downgrade nss and nspr (should be bumped up at OBS in few days)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33867
diff changeset
20 LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2-2.9
33861
71533f0d5dc0 win32: switch to OBS, update and push to runtime-deps package - libenchant, gtkspell, meanwhile, tcl
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33860
diff changeset
21 MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0
35166
db363e8b1fed Upgrade NSS to 3.15.4
Daniel Atallah <datallah@pidgin.im>
parents: 34524
diff changeset
22 NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.15.4-nspr-4.10.2
33873
21b6ce1aae13 win32: tidy up perl package, fix warnings
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33871
diff changeset
23 PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl-5.10
33875
9fdba61fdf51 win32: make dev directories naming consistent
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33874
diff changeset
24 SILC_TOOLKIT ?= $(WIN32_DEV_TOP)/silc-toolkit-1.1
33861
71533f0d5dc0 win32: switch to OBS, update and push to runtime-deps package - libenchant, gtkspell, meanwhile, tcl
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33860
diff changeset
25 TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.5
33875
9fdba61fdf51 win32: make dev directories naming consistent
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33874
diff changeset
26 GSTREAMER_TOP ?= $(WIN32_DEV_TOP)/gstreamer-0.10
33765
910bab8c9dac win32: Use the libssp-0.dll from the gcc bin directory instead of based on a separate dependency.
Daniel Atallah <datallah@pidgin.im>
parents: 33645
diff changeset
27 GCC_SSP_TOP ?= $(shell dirname $(shell which $(CC)))
33875
9fdba61fdf51 win32: make dev directories naming consistent
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33874
diff changeset
28 CYRUS_SASL_TOP ?= $(WIN32_DEV_TOP)/cyrus-sasl-2.1
33854
5744cfb1c3d1 Fix 3.0.0 compilation for win32, switch gtk (and others) runtimes from gnome.org to opensuse build service
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33822
diff changeset
29 WEBKITGTK_TOP ?= $(WIN32_DEV_TOP)/libwebkitgtk-1.10
33917
24c951813da8 win32: update bunch of dependencies (webkitgtk 1.10 finally working, nspr and tcl patches integrated in upstream)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33876
diff changeset
30 LIBSOUP_TOP ?= $(WIN32_DEV_TOP)/libsoup-2.42
33876
acd48a8a0b3b win32: update bunch of libraries; little cleanups
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33875
diff changeset
31 GETTEXT_TOP ?= $(WIN32_DEV_TOP)/gettext-0.18
acd48a8a0b3b win32: update bunch of libraries; little cleanups
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33875
diff changeset
32 INTLTOOL_TOP ?= $(WIN32_DEV_TOP)/intltool-0.50
35139
c30787ce6256 Use external libgadu for win32 build and update some dependencies. Refs #343
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35136
diff changeset
33 LIBGADU_TOP ?= $(WIN32_DEV_TOP)/libgadu-1.12
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
34
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
35 # Where we installing this stuff to?
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
36 PIDGIN_INSTALL_DIR := $(PIDGIN_TREE_TOP)/win32-install-dir
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
37 PURPLE_INSTALL_DIR := $(PIDGIN_TREE_TOP)/win32-install-dir
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
38 PIDGIN_INSTALL_PLUGINS_DIR := $(PIDGIN_INSTALL_DIR)/plugins
27665
00196a586c45 Modify the Windows build/install setup to deal with the perl modules the way
Etan Reisner <deryni@pidgin.im>
parents: 27106
diff changeset
39 PIDGIN_INSTALL_PERL_DIR := $(PIDGIN_INSTALL_PLUGINS_DIR)/perl
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
40 PURPLE_INSTALL_PLUGINS_DIR := $(PURPLE_INSTALL_DIR)/plugins
27665
00196a586c45 Modify the Windows build/install setup to deal with the perl modules the way
Etan Reisner <deryni@pidgin.im>
parents: 27106
diff changeset
41 PURPLE_INSTALL_PERL_DIR := $(PURPLE_INSTALL_PLUGINS_DIR)/perl
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
42 PURPLE_INSTALL_PO_DIR := $(PURPLE_INSTALL_DIR)/locale
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
43
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
44 # Important (enough) locations in our source code
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
45 PURPLE_TOP := $(PIDGIN_TREE_TOP)/libpurple
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
46 PURPLE_PLUGINS_TOP := $(PURPLE_TOP)/plugins
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
47 PURPLE_PERL_TOP := $(PURPLE_PLUGINS_TOP)/perl
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
48 PIDGIN_TOP := $(PIDGIN_TREE_TOP)/pidgin
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
49 PIDGIN_PIXMAPS_TOP := $(PIDGIN_TOP)/pixmaps
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
50 PIDGIN_PLUGINS_TOP := $(PIDGIN_TOP)/plugins
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
51 PURPLE_PO_TOP := $(PIDGIN_TREE_TOP)/po
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
52 PURPLE_PROTOS_TOP := $(PURPLE_TOP)/protocols
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
53
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
54 # Locations of important (in-tree) build targets
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
55 PIDGIN_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
56 PURPLE_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h
27970
1dea59c9eced Fix windows build by adding the necessary bits to define the MTN revision
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27665
diff changeset
57 PIDGIN_REVISION_H := $(PIDGIN_TREE_TOP)/package_revision.h
1dea59c9eced Fix windows build by adding the necessary bits to define the MTN revision
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27665
diff changeset
58 PIDGIN_REVISION_RAW_TXT := $(PIDGIN_TREE_TOP)/package_revision_raw.txt
21466
491faf2e1fe4 Make purple.h a generated file so plugins can just include this and never
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20289
diff changeset
59 PURPLE_PURPLE_H := $(PURPLE_TOP)/purple.h
16663
bcc4caec2e29 Fix version.h generation on mingw build.
Daniel Atallah <datallah@pidgin.im>
parents: 16651
diff changeset
60 PURPLE_VERSION_H := $(PURPLE_TOP)/version.h
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
61 PURPLE_DLL := $(PURPLE_TOP)/libpurple.dll
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
62 PURPLE_PERL_DLL := $(PURPLE_PERL_TOP)/perl.dll
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
63 PIDGIN_DLL := $(PIDGIN_TOP)/pidgin.dll
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
64 PIDGIN_EXE := $(PIDGIN_TOP)/pidgin.exe
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
65 PIDGIN_PORTABLE_EXE := $(PIDGIN_TOP)/pidgin-portable.exe
3711
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
66
23915
b62601fd6e7d Update the Perl plugin loader to work with Perl 5.10.
Daniel Atallah <datallah@pidgin.im>
parents: 23480
diff changeset
67 GCCWARNINGS ?= -Waggregate-return -Wcast-align -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef
14517
970b4c731ac9 [gaim-migrate @ 17169]
Daniel Atallah <datallah@pidgin.im>
parents: 14509
diff changeset
68
33366
75dbccde9fc7 Enable the GCC Stack-Smashing Protection functionality (-fstack-protector-all)
Daniel Atallah <datallah@pidgin.im>
parents: 33364
diff changeset
69 CC_HARDENING_OPTIONS ?= -Wstack-protector -fwrapv -fno-strict-overflow -Wno-missing-field-initializers -Wformat-security -fstack-protector-all --param ssp-buffer-size=1
33364
d9ebf57cd361 Enable DEP and ASLR flags as well as some other security related compiler flags
Daniel Atallah <datallah@pidgin.im>
parents: 33355
diff changeset
70 LD_HARDENING_OPTIONS ?= -Wl,--dynamicbase -Wl,--nxcompat
d9ebf57cd361 Enable DEP and ASLR flags as well as some other security related compiler flags
Daniel Atallah <datallah@pidgin.im>
parents: 33355
diff changeset
71
33874
4613cb48e254 Make perl compilation quieter
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33873
diff changeset
72 TAG := @$(PURPLE_TOP)/tag.sh
33364
d9ebf57cd361 Enable DEP and ASLR flags as well as some other security related compiler flags
Daniel Atallah <datallah@pidgin.im>
parents: 33355
diff changeset
73
14517
970b4c731ac9 [gaim-migrate @ 17169]
Daniel Atallah <datallah@pidgin.im>
parents: 14509
diff changeset
74 # parse the version number from the configure.ac file if it is newer
16651
218fe51ae7b7 soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16100
diff changeset
75 #m4_define([purple_major_version], [2])
218fe51ae7b7 soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16100
diff changeset
76 #m4_define([purple_minor_version], [0])
218fe51ae7b7 soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16100
diff changeset
77 #m4_define([purple_micro_version], [0])
218fe51ae7b7 soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16100
diff changeset
78 #m4_define([purple_version_suffix], [devel])
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
79 PIDGIN_VERSION := $(shell \
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
80 if [ ! $(PIDGIN_TREE_TOP)/VERSION -nt $(PIDGIN_TREE_TOP)/configure.ac ]; then \
16651
218fe51ae7b7 soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16100
diff changeset
81 awk 'BEGIN {FS="[\\(\\)\\[\\]]"} /^m4_define..purple_(major|minor)_version/ {printf("%s.",$$5);} /^m4_define..purple_micro_version/ {printf("%s",$$5);} /^m4_define..purple_version_suffix/ {printf("%s",$$5); exit}' \
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
82 $(PIDGIN_TREE_TOP)/configure.ac > $(PIDGIN_TREE_TOP)/VERSION; \
14517
970b4c731ac9 [gaim-migrate @ 17169]
Daniel Atallah <datallah@pidgin.im>
parents: 14509
diff changeset
83 fi; \
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
84 cat $(PIDGIN_TREE_TOP)/VERSION \
14517
970b4c731ac9 [gaim-migrate @ 17169]
Daniel Atallah <datallah@pidgin.im>
parents: 14509
diff changeset
85 )
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
86 PURPLE_VERSION := $(PIDGIN_VERSION)
21467
cf96ffcf7f99 Allow win32 builds to define EXTRAVERSION in local.mak to do the equivalent
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21466
diff changeset
87 ifdef EXTRAVERSION
cf96ffcf7f99 Allow win32 builds to define EXTRAVERSION in local.mak to do the equivalent
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21466
diff changeset
88 DISPLAY_VERSION := $(PIDGIN_VERSION)-$(EXTRAVERSION)
cf96ffcf7f99 Allow win32 builds to define EXTRAVERSION in local.mak to do the equivalent
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21466
diff changeset
89 else
cf96ffcf7f99 Allow win32 builds to define EXTRAVERSION in local.mak to do the equivalent
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21466
diff changeset
90 DISPLAY_VERSION := $(PIDGIN_VERSION)
cf96ffcf7f99 Allow win32 builds to define EXTRAVERSION in local.mak to do the equivalent
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21466
diff changeset
91 endif
14517
970b4c731ac9 [gaim-migrate @ 17169]
Daniel Atallah <datallah@pidgin.im>
parents: 14509
diff changeset
92
22517
4b64c6114829 Enable SASL support for xmpp in the win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22516
diff changeset
93 CYRUS_SASL ?= 1
4b64c6114829 Enable SASL support for xmpp in the win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22516
diff changeset
94
22531
954f45c85344 Avoid saying "Cyrus SASL: Disabled" in the About box on Win32 when it's not true!
Kevin Stange <kstange@pidgin.im>
parents: 22517
diff changeset
95 ifeq ($(CYRUS_SASL), 1)
954f45c85344 Avoid saying "Cyrus SASL: Disabled" in the About box on Win32 when it's not true!
Kevin Stange <kstange@pidgin.im>
parents: 22517
diff changeset
96 DEFINES += -DHAVE_CYRUS_SASL
954f45c85344 Avoid saying "Cyrus SASL: Disabled" in the About box on Win32 when it's not true!
Kevin Stange <kstange@pidgin.im>
parents: 22517
diff changeset
97 endif
954f45c85344 Avoid saying "Cyrus SASL: Disabled" in the About box on Win32 when it's not true!
Kevin Stange <kstange@pidgin.im>
parents: 22517
diff changeset
98
28783
7271f3acaae4 Define WIN32_LEAN_AND_MEAN where possible during the compile to hopefully speed it up.
Daniel Atallah <datallah@pidgin.im>
parents: 27970
diff changeset
99 DEFINES += -DHAVE_CONFIG_H -DWIN32_LEAN_AND_MEAN
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
100
33645
c959cde2a7bd Make it possible to build with recent gcc versions out of the box on Windows.
Daniel Atallah <datallah@pidgin.im>
parents: 33418
diff changeset
101 CFLAGS += -O2 -Wall $(GCCWARNINGS) $(CC_HARDENING_OPTIONS) -pipe -mms-bitfields -g
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
102
5932
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
103 # If not specified, dlls are built with the default base address of 0x10000000.
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
104 # When loaded into a process address space a dll will be rebased if its base
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
105 # address colides with the base address of an existing dll. To avoid rebasing
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
106 # we do the following. Rebasing can slow down the load time of dlls and it
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
107 # also renders debug info useless.
33366
75dbccde9fc7 Enable the GCC Stack-Smashing Protection functionality (-fstack-protector-all)
Daniel Atallah <datallah@pidgin.im>
parents: 33364
diff changeset
108 DLL_LD_FLAGS += -Wl,--enable-auto-image-base -Wl,--enable-auto-import $(LD_HARDENING_OPTIONS) -lssp
5932
989a2714d78e [gaim-migrate @ 6372]
Herman Bloggs <herman@bluedigits.com>
parents: 4860
diff changeset
109
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14286
diff changeset
110 # Build programs
15517
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
111 ifeq "$(origin CC)" "default"
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
112 CC := gcc.exe
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
113 endif
33867
68be92b95def win32: silence win32 build by displaying neat CC/CCLD/PERL tags instead of compilation command contents
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33864
diff changeset
114 # comment out the next line to make output more verbose
68be92b95def win32: silence win32 build by displaying neat CC/CCLD/PERL tags instead of compilation command contents
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33864
diff changeset
115 CC := $(TAG) "auto" $(CC)
68be92b95def win32: silence win32 build by displaying neat CC/CCLD/PERL tags instead of compilation command contents
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33864
diff changeset
116
33876
acd48a8a0b3b win32: update bunch of libraries; little cleanups
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33875
diff changeset
117 GMSGFMT ?= $(GETTEXT_TOP)/bin/msgfmt
15517
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
118 MAKENSIS ?= makensis.exe
29867
954758febf9c Use Perl in the system Path instead of a hard-coded cygwin-specific path
Daniel Atallah <datallah@pidgin.im>
parents: 29807
diff changeset
119 PERL ?= perl
15517
c270a06133ae Add support for win32 makefile variable overriding using a "local.mak" file in the build root directory. This makes maintaining a custom build environment or cross-compiling easier.
Daniel Atallah <datallah@pidgin.im>
parents: 15438
diff changeset
120 WINDRES ?= windres
15533
1787d1216249 Some more changes to the win32 build to support cross-compiling.
Daniel Atallah <datallah@pidgin.im>
parents: 15517
diff changeset
121 STRIP ?= strip
33876
acd48a8a0b3b win32: update bunch of libraries; little cleanups
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33875
diff changeset
122 INTLTOOL_MERGE ?= $(INTLTOOL_TOP)/bin/intltool-merge
33403
a7dab773e3f6 Update win32 build to sign pidgin.exe and the two installers using MS authenticode
Daniel Atallah <datallah@pidgin.im>
parents: 33366
diff changeset
123 MONO_SIGNCODE ?= signcode
33417
156f37832487 Sign all the win32 binaries with GPG (in addition to the authenticode signing for the executables)
Daniel Atallah <datallah@pidgin.im>
parents: 33408
diff changeset
124 GPG_SIGN ?= gpg
33948
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
125 GLIB_GENMARSHAL ?= $(GTK_BIN)/glib-genmarshal
34976
fa4d47377827 win32: fixed makefiles
Ankit Vani <a@nevitus.org>
parents: 33961
diff changeset
126 GLIB_MKENUMS ?= $(GTK_BIN)/glib-mkenums
3711
7d99d1750885 [gaim-migrate @ 3844]
Herman Bloggs <herman@bluedigits.com>
parents:
diff changeset
127
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
128 PIDGIN_COMMON_RULES := $(PURPLE_TOP)/win32/rules.mak
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
129 PIDGIN_COMMON_TARGETS := $(PURPLE_TOP)/win32/targets.mak
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15533
diff changeset
130 MINGW_MAKEFILE := Makefile.mingw
33937
f15e97d8758e win32: silence build even more
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33917
diff changeset
131 MAKE_at := @
22750
ffe7d370bab9 Ugly hackery to support INSTALL_PIXMAPS for the win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22531
diff changeset
132
33961
3bd03baab70d VV: it works on win32 now, enable it
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33948
diff changeset
133 USE_VV ?= 1
33948
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
134
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
135 ifeq "$(USE_VV)" "1"
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
136 VV_LIBS := \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
137 -lgstreamer-0.10 \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
138 -lgstvideo-0.10 \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
139 -lgstinterfaces-0.10 \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
140 -lfarstream-0.1
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
141 VV_INCLUDE_PATHS := \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
142 -I$(GSTREAMER_TOP)/include/gstreamer-0.10 \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
143 -I$(GSTREAMER_TOP)/include/farstream-0.1 \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
144 -I$(LIBXML2_TOP)/include/libxml2
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
145 VV_LIB_PATHS := \
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
146 -L$(GSTREAMER_TOP)/lib
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
147 DEFINES += -DUSE_GSTREAMER -DUSE_VV
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
148 else
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
149 VV_LIBS :=
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
150 VV_INCLUDE_PATHS :=
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
151 VV_LIB_PATHS :=
b6c9e5dd95d1 VV: win32 support. No runtimes dependencies in dep-bundle yet. Refs #11075
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33942
diff changeset
152 endif
22750
ffe7d370bab9 Ugly hackery to support INSTALL_PIXMAPS for the win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22531
diff changeset
153
ffe7d370bab9 Ugly hackery to support INSTALL_PIXMAPS for the win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22531
diff changeset
154 INSTALL_PIXMAPS ?= 1
23480
101573414138 re-Fix win32 build.
Daniel Atallah <datallah@pidgin.im>
parents: 22750
diff changeset
155 INSTALL_SSL_CERTIFICATES ?= 1

mercurial