grim/purple-spasm

A bunch of windows updates

2017-04-24, Gary Kramlich
2f0bf9786463
Parents 00f5f3a80952
Children c6ebab4417b2
A bunch of windows updates
  • +47 -10
    libpurple.mk
  • --- a/libpurple.mk Mon Apr 24 22:14:43 2017 -0500
    +++ b/libpurple.mk Mon Apr 24 22:33:59 2017 -0500
    @@ -17,25 +17,62 @@
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +# figure out the os and set the proper variables for it
    ifeq ($(OS),Windows_NT)
    +# set the target's name
    PLUGIN_TARGET := $(PLUGIN_NAME).dll
    +
    +# set the platform cflags and libs
    +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_WIN32)
    +PLATFORM_LIBS := $(PLUGIN_LIBS_WIN32)
    +
    +# set the variables for windows that are usually populated by pkg-config
    +CC ?= $(WIN32_DEV_TOP)/mingw-4.7.2/bin/gcc
    +LIBPURPLE_PLUGIN_DIR := $(PROGRAMFILES)/Pidgin/plugins
    +PLATFORM_CFLAGS += \
    + -I$(WIN32_DEV_TOP)/glib-2.28.8/include \
    + -I$(WIN32_DEV_TOP)/glib-2.28.8/include/glib-2.0 \
    + -I$(WIN32_DEV_TOP)/glib-2.28.8/lib/glib-2.0/include
    +PLATFORM_LIBS += \
    + -L$(WIN32_DEV_TOP)/glib-2.28.8/lib \
    + -lpurple \
    + -lintl \
    + -lglib-2.0 \
    + -lgobjection-2.0 \
    + -lz
    else
    PLUGIN_TARGET := $(PLUGIN_NAME).so
    +
    +UNAME_S := $(shell uname -s)
    +ifeq ($(UNAME_S),Darwin)
    +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_DARWIN)
    +PLATFORM_LIBS := $(PLUGIN_LIBS_DARWIN)
    +else
    +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_LINUX)
    +PLATFORM_LIBS := $(PLUGIN_LIBS_LINUX)
    endif
    -PLUGIN_OBJECTS := $(PLUGIN_SOURCES:%.c=%.o)
    +endif
    +# set a bunch of variables if there weren't set already
    CC ?= gcc
    -CFLAGS ?= -O2 -g -g3
    +CFLAGS ?= -O2 -g -g3 \
    + -Wall -Wextra -Werror -Wformat \
    + -Wno-deprecated-declarations -Wno-unused-parameter \
    + -fno-strict-aliasing
    +LDFLAGS ?=
    +
    +# pkg-config if necessary
    PKG_CONFIG ?= pkg-config
    -
    LIBPURPLE_PC_MODULE ?= purple
    -LIBPURPLE_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(LIBPURPLE_PC_MODULE))
    -LIBPURPLE_LIBS := $(shell $(PKG_CONFIG) --libs $(LIBPURPLE_PC_MODULE))
    -LIBPURPLE_PLUGIN_DIR := $(shell $(PKG_CONFIG) --variable=plugindir $(LIBPURPLE_PC_MODULE))
    -LIBPURPLE_DATA_DIR := $(shell $(PKG_CONFIG) --variable=datadir $(LIBPURPLE_PC_MODULE))
    -LIBPURPLE_LIB_DIR := $(shell $(PKG_CONFIG) --variable=libdir $(LIBPURPLE_PC_MODULE))
    +LIBPURPLE_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags $(LIBPURPLE_PC_MODULE))
    +LIBPURPLE_LIBS ?= $(shell $(PKG_CONFIG) --libs $(LIBPURPLE_PC_MODULE))
    +LIBPURPLE_PLUGIN_DIR ?= $(shell $(PKG_CONFIG) --variable=plugindir $(LIBPURPLE_PC_MODULE))
    +LIBPURPLE_DATA_DIR ?= $(shell $(PKG_CONFIG) --variable=datadir $(LIBPURPLE_PC_MODULE))
    +LIBPURPLE_LIB_DIR ?= $(shell $(PKG_CONFIG) --variable=libdir $(LIBPURPLE_PC_MODULE))
    +# Variables that are platform independent
    +PLUGIN_OBJECTS := $(PLUGIN_SOURCES:%.c=%.o)
    ADDITIONAL_CFLAGS := \
    -DDATADIR=$(LIBPURPLE_DATA_DIR) \
    -DLIBDIR=$(LIBPURPLE_LIB_DIR) \
    @@ -55,7 +92,7 @@
    rm -f $(LIBPURPLE_PLUGIN_DIR)/$(PLUGIN_TARGET)
    %.o: %.c
    - $(CC) $(CFLAGS) $(ADDITIONAL_CFLAGS) $(LIBPURPLE_CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $<
    + $(CC) $(CFLAGS) $(ADDITIONAL_CFLAGS) $(PLATFORM_CFLAGS) $(LIBPURPLE_CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $<
    $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS) $(MAKEFILE_LIST)
    - $(CC) -shared $(LIBS) $(LIBPURPLE_LIBS) $(PLUGIN_LIBS) -o $@ $(PLUGIN_OBJECTS)
    + $(CC) -shared $(LIBS) $(LIBPURPLE_LIBS) $(PLATFORM_LIBS) $(LDFLAGS) $(PLUGIN_LIBS) -o $@ $(PLUGIN_OBJECTS)