Mercurial > pidgin.yaz
view plugins/ssl/Makefile.mingw @ 7724:613b20c69d2c
[gaim-migrate @ 8369]
this didn't cause me any problems yesterday, and it compiles, and bug fixing is a good thing.
"Some month ago I introduced translatable texts for "gaim --help" and
"gaim-remote --help".
Unfortunately the output of the translated text is often unreadable.
The problem is, that Gaim's *.po files have the UTF-8 locale (because
this is the default charset for GTK+ 2.0). But the users may have
configured other locales. For instance my SuSE Linux 9.0 system is
configured with LANG=de_DE@euro. "euro" is ISO-8859-1 (Western
character set, 8 Bit, with the Euro currency symbol). Lots of UTF-8
characters are unreadable if they are displayed in a 8 Bit charset
without conversion. Only the 7 Bit chars are displayed right.
There are two possible solutions:
1) Make the console texts untranslatable. This isn't very clever.
2) Convert the texts from UTF-8 to user's locale.
I choose the second solution.
The conversion cannot be made during the translation, because gettext
does not allow a mix of different character sets in one po-file.
My patch converts the console strings from UTF-8 to users locale.
Normally this works right, because most users have a locale which is
compatible with their language.
The case where a user uses a language (for instance German:
LANG=de_DE) with an incompatible character set (for instance the 7Bit
charset LC_CTYPE=C) is also handled. The user then sees a warning and
the original UTF-8 message.
At first I tried to make a new UTF-8 function in src/util.c. But the
function is needed 5 times in src/gaim-remote.c and 2 times in
src/main.c. gaim-remote is not linked against util.o. Also there are a
lot of dependencies from util.o to other files, so I will introduce a
lot of trouble to link gaim-remote against util.o.
So I only wrote a function in src/gaim-remote.c and used the UTF-8
conversion inline in src/main.c." --Bjoern Voigt
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Wed, 03 Dec 2003 13:21:55 +0000 |
parents | c92dbccd7448 |
children | 2bc75d98af8b |
line wrap: on
line source
# # Makefile.mingw # # Description: Makefile for ssl plugin. # # # PATHS # GTK_TOP := ../../../win32-dev/gtk_2_0 GAIM_TOP := ../.. GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins NSS_DIR := ../../../win32-dev/nss-3.8 NSPR_DIR := ../../../win32-dev/nspr-4.3 ## ## VARIABLE DEFINITIONS ## TARGET = ssl TARGET_NSS = ssl-nss NEEDED_DLLS = $(NSS_DIR)/lib/nss3.dll \ $(NSS_DIR)/lib/nssckbi.dll \ $(NSS_DIR)/lib/softokn3.dll \ $(NSS_DIR)/lib/ssl3.dll \ $(NSPR_DIR)/lib/nspr4.dll \ $(NSPR_DIR)/lib/plc4.dll \ $(NSPR_DIR)/lib/plds4.dll # Compiler Options CFLAGS = DEFINES = ## ## INCLUDE MAKEFILES ## include $(GAIM_TOP)/src/win32/global.mak ## ## INCLUDE PATHS ## INCLUDE_PATHS += -I. \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(GAIM_TOP)/src \ -I$(GAIM_TOP)/src/win32 \ -I$(GAIM_TOP) \ -I$(NSS_DIR)/include \ -I$(NSPR_DIR)/include LIB_PATHS = -L$(GTK_TOP)/lib \ -L$(GAIM_TOP)/src \ -L$(NSS_DIR)/lib \ -L$(NSPR_DIR)/lib ## ## SOURCES, OBJECTS ## C_SRC = ssl.c C_SRC_NSS = ssl-nss.c OBJECTS = $(C_SRC:%.c=%.o) OBJECTS_NSS = $(C_SRC_NSS:%.c=%.o) ## ## LIBRARIES ## LIBS = -lgtk-win32-2.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ -lgmodule-2.0 \ -lgobject-2.0 \ -lws2_32 \ -lintl \ -lgaim \ -lnss3 \ -lnspr4 \ -lssl3 ## ## RULES ## # How to make a C file %.o: %.c $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< ## ## TARGET DEFINITIONS ## .PHONY: all clean all: $(TARGET).dll $(TARGET_NSS).dll install: cp $(TARGET).dll $(DLL_INSTALL_DIR) cp $(TARGET_NSS).dll $(DLL_INSTALL_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) ## ## BUILD Dependencies ## $(GAIM_TOP)/src/gaim.lib: $(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib ## ## BUILD DLL ## $(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll $(TARGET_NSS).dll: $(OBJECTS_NSS) $(GAIM_TOP)/src/gaim.lib $(CC) -shared $(OBJECTS_NSS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET_NSS).dll ## ## CLEAN RULES ## clean: rm -rf *.o rm -rf $(TARGET).dll rm -rf $(TARGET_NSS).dll