annotate libpurple/win32/global.mak @ 20240:3f20c133de1f

applied changes from a904206e9fbae9424b5194ca9288e01959fd14d3 through 4788a5d2117e007ef1d389bdd939afdd70da53ca
author Richard Laager <rlaager@wiktel.com>
date Fri, 28 Sep 2007 15:55:55 +0000
parents 9683da821d15
children 44842d3f49ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 #
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 # global.mak
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 #
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 # This file should be included by all Makefile.mingw files for project
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
5 # wide definitions (after correctly defining PIDGIN_TREE_TOP).
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 #
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
8 #include optional $(PIDGIN_TREE_TOP)/local.mak to allow overriding of any definitions
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
9 -include $(PIDGIN_TREE_TOP)/local.mak
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
10
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 # Locations of our various dependencies
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
12 WIN32_DEV_TOP ?= $(PIDGIN_TREE_TOP)/../win32-dev
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
13 ASPELL_TOP ?= $(WIN32_DEV_TOP)/aspell-dev-0-50-3-3
19377
d3f2492a7768 Upgrade gtkspell on the win32 build to 2.0.11. Fixes #1388 thanks to Sean's astute observation.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19193
diff changeset
14 GTKSPELL_TOP ?= $(WIN32_DEV_TOP)/gtkspell-2.0.11
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
15 GTK_TOP ?= $(WIN32_DEV_TOP)/gtk_2_0
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
16 GTK_BIN ?= $(GTK_TOP)/bin
17496
b87114cdd6ae More minor changes related to bonjour on win32.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16594
diff changeset
17 BONJOUR_TOP ?= $(WIN32_DEV_TOP)/Bonjour_SDK
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
18 LIBXML2_TOP ?= $(WIN32_DEV_TOP)/libxml2
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
19 MEANWHILE_TOP ?= $(WIN32_DEV_TOP)/meanwhile-1.0.2
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
20 NSPR_TOP ?= $(WIN32_DEV_TOP)/nspr-4.6.4
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
21 NSS_TOP ?= $(WIN32_DEV_TOP)/nss-3.11.4
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
22 PERL_LIB_TOP ?= $(WIN32_DEV_TOP)/perl58
19523
9683da821d15 Upgrade the win32 build to use version 1.1.2 of the SILC toolkit.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19377
diff changeset
23 SILC_TOOLKIT ?= $(WIN32_DEV_TOP)/silc-toolkit-1.1.2
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
24 TCL_LIB_TOP ?= $(WIN32_DEV_TOP)/tcl-8.4.5
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 # Where we installing this stuff to?
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
27 PIDGIN_INSTALL_DIR := $(PIDGIN_TREE_TOP)/win32-install-dir
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
28 PURPLE_INSTALL_DIR := $(PIDGIN_TREE_TOP)/win32-install-dir
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
29 PIDGIN_INSTALL_PERLMOD_DIR := $(PIDGIN_INSTALL_DIR)/perlmod
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
30 PIDGIN_INSTALL_PLUGINS_DIR := $(PIDGIN_INSTALL_DIR)/plugins
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
31 PURPLE_INSTALL_PERLMOD_DIR := $(PURPLE_INSTALL_DIR)/perlmod
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
32 PURPLE_INSTALL_PLUGINS_DIR := $(PURPLE_INSTALL_DIR)/plugins
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
33 PURPLE_INSTALL_PO_DIR := $(PURPLE_INSTALL_DIR)/locale
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 # Important (enough) locations in our source code
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
36 PURPLE_TOP := $(PIDGIN_TREE_TOP)/libpurple
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
37 PURPLE_PLUGINS_TOP := $(PURPLE_TOP)/plugins
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
38 PURPLE_PERL_TOP := $(PURPLE_PLUGINS_TOP)/perl
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
39 PIDGIN_TOP := $(PIDGIN_TREE_TOP)/pidgin
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
40 PIDGIN_IDLETRACK_TOP := $(PIDGIN_TOP)/win32/IdleTracker
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
41 PIDGIN_PIXMAPS_TOP := $(PIDGIN_TOP)/pixmaps
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
42 PIDGIN_PLUGINS_TOP := $(PIDGIN_TOP)/plugins
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
43 PURPLE_PO_TOP := $(PIDGIN_TREE_TOP)/po
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
44 PURPLE_PROTOS_TOP := $(PURPLE_TOP)/protocols
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 # Locations of important (in-tree) build targets
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
47 PIDGIN_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
48 PURPLE_CONFIG_H := $(PIDGIN_TREE_TOP)/config.h
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
49 PIDGIN_IDLETRACK_DLL := $(PIDGIN_IDLETRACK_TOP)/idletrack.dll
16594
56c61eb40850 Fix version.h generation on mingw build.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 16583
diff changeset
50 PURPLE_VERSION_H := $(PURPLE_TOP)/version.h
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
51 PURPLE_DLL := $(PURPLE_TOP)/libpurple.dll
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
52 PURPLE_PERL_DLL := $(PURPLE_PERL_TOP)/perl.dll
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
53 PIDGIN_DLL := $(PIDGIN_TOP)/pidgin.dll
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
54 PIDGIN_EXE := $(PIDGIN_TOP)/pidgin.exe
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
55 PIDGIN_PORTABLE_EXE := $(PIDGIN_TOP)/pidgin-portable.exe
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 # parse the version number from the configure.ac file if it is newer
16583
ce049678a67b soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <stu@nosnilmot.com>
parents: 16039
diff changeset
60 #m4_define([purple_major_version], [2])
ce049678a67b soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <stu@nosnilmot.com>
parents: 16039
diff changeset
61 #m4_define([purple_minor_version], [0])
ce049678a67b soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <stu@nosnilmot.com>
parents: 16039
diff changeset
62 #m4_define([purple_micro_version], [0])
ce049678a67b soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <stu@nosnilmot.com>
parents: 16039
diff changeset
63 #m4_define([purple_version_suffix], [devel])
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
64 PIDGIN_VERSION := $(shell \
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
65 if [ ! $(PIDGIN_TREE_TOP)/VERSION -nt $(PIDGIN_TREE_TOP)/configure.ac ]; then \
16583
ce049678a67b soname versioning of libpurple. Should help resolve debian bug 421282
Stu Tomlinson <stu@nosnilmot.com>
parents: 16039
diff changeset
66 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}' \
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
67 $(PIDGIN_TREE_TOP)/configure.ac > $(PIDGIN_TREE_TOP)/VERSION; \
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 fi; \
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
69 cat $(PIDGIN_TREE_TOP)/VERSION \
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 )
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
71 PURPLE_VERSION := $(PIDGIN_VERSION)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
73 DEFINES += -DVERSION=\"$(PIDGIN_VERSION)\" \
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 -DHAVE_CONFIG_H
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
76 # Use -g flag when building debug version of Pidgin (including plugins).
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 # Use -fnative-struct instead of -mms-bitfields when using mingw 1.1
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 # (gcc 2.95)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 CFLAGS += -O2 -Wall $(GCCWARNINGS) -pipe -mno-cygwin -mms-bitfields -g
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 # If not specified, dlls are built with the default base address of 0x10000000.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 # When loaded into a process address space a dll will be rebased if its base
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 # address colides with the base address of an existing dll. To avoid rebasing
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 # we do the following. Rebasing can slow down the load time of dlls and it
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 # also renders debug info useless.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 DLL_LD_FLAGS += -Wl,--enable-auto-image-base
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 # Build programs
15456
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
89 ifeq "$(origin CC)" "default"
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
90 CC := gcc.exe
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
91 endif
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
92 GMSGFMT ?= $(GTK_BIN)/msgfmt
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
93 MAKENSIS ?= makensis.exe
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
94 PERL ?= /cygdrive/c/perl/bin/perl
f217a2d656c8 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 <daniel.atallah@gmail.com>
parents: 15376
diff changeset
95 WINDRES ?= windres
15470
015ad1283216 Some more changes to the win32 build to support cross-compiling.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15456
diff changeset
96 STRIP ?= strip
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97
16039
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
98 PIDGIN_COMMON_RULES := $(PURPLE_TOP)/win32/rules.mak
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
99 PIDGIN_COMMON_TARGETS := $(PURPLE_TOP)/win32/targets.mak
ded8da3de5f8 This should get all the Win32 Makefiles in line with
Kevin Stange <kevin@simguy.net>
parents: 15470
diff changeset
100 MINGW_MAKEFILE := Makefile.mingw