view Makefile.mingw @ 7652:ac6b2b3a9a1f

[gaim-migrate @ 8296] Bj?rn Voigt (bjoernv) writes: " I found a small problem in Gaim's proxy settings. There is an option "Use Environmental Settings". This option does not work as expected. Gaim reads the environment variables http_proxy (or HTTP_PROXY or HTTPPROXY) and http_proxy_port (or HTTP_PROXY_PORT or HTTPPROXYPORT) and variables for proxy user and proxy password. Gaim expects the following format: export http_proxy=your.proxy.server export http_proxy_port=8080 As far as I know this is a unusual format. Probably there is no standard document, which describes the correct format of proxy variables, but browsers like Konqueror, Amaya, Lynx and others use a pseudo standard format: export http_proxy="http://your.proxy.server:8080/" The port number defaults to 80. The variable http_proxy_port is unknown. The proxy variable format is described in some W3C pages, for instance: http://www.w3.org/Daemon/User/Proxies/ProxyClients.html http://www.w3.org/Library/User/Using/Proxy.html http://www.w3.org/Amaya/User/Proxy.html Solution -------- My patch fixes the proxy environment variable parsing in src/proxy.c:1626: gaim_proxy_connect(). The patch removes http_proxy_port and uses gaim_url_parse() from src/util.c to parse the http_proxy variable. Remaining problems ------------------ If a user has adjusted his proxy settings to Gaim's old proxy variable format, he gets an error. I don't think, that this is a big problem, as not much users set their proxy variables only for one program (old proxy variables where incompatible with browsers like Lynx, Konqueror, ...). Gaim still doesn't look at the no_proxy variable. This variables defines hosts and domains, which should be connected directly: export no_proxy="cern.ch,ncsa.uiuc.edu,some.host:8080" For example, one user may want to connect to Yahoo! over a proxy and to an internal Jabber server without a proxy. But the user can define individual proxy variables for each account." he continues: "Nathan Walp <faceprint@faceprint.com> wrote: > Why not have your patch check to see if the http_proxy var starts with > "http://", and if so, parse it, otherwise fall back on the old behavior. Ok, the function gaim_url_parse() automatically detects hostnames and port numbers, if the http_proxy URL does not start with http://. My new patch also checks for http_proxy_port. Now my patch (file proxy2.patch) is fully backward compatible and tested." given how rarely the current proxy code works, i don't see how this could possibly make things worse, so i'm taking a chance since it compiles. someone please test this. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sat, 29 Nov 2003 03:46:24 +0000
parents c92dbccd7448
children f26e7dc1805e
line wrap: on
line source

# Makefile.mingw
# 
# Author: hermanator12002@yahoo.com
# Date 9/11/02
# Description: Top Makefile for win32 (mingw) port of Gaim
#

GAIM_SRC = ./src
GAIM_PROTOS = $(GAIM_SRC)/protocols
GAIM_PLUGINS = ./plugins
GAIM_PIXMAPS = ./pixmaps
GAIM_SOUNDS = ./sounds
GAIM_INSTALL_DIR = ./win32-install-dir
GTKSPELL_TOP = ../win32-dev/gtkspell-2.0.4/gtkspell
IDLETRACK_TOP = $(GAIM_SRC)/win32/IdleTracker
GTKRC_TOP = ../win32-dev/gtkrc
OSCAR = $(GAIM_PROTOS)/oscar
YAHOO = $(GAIM_PROTOS)/yahoo
MSN = $(GAIM_PROTOS)/msn
TOC = $(GAIM_PROTOS)/toc
IRC = $(GAIM_PROTOS)/irc
JABBER = $(GAIM_PROTOS)/jabber
NAPSTER = $(GAIM_PROTOS)/napster
TREPIA = $(GAIM_PROTOS)/trepia
GG = $(GAIM_PROTOS)/gg
PO = ./po

VERSION := $(shell cat ./VERSION)

NEEDED_DLLS =		$(GTKSPELL_TOP)/libgtkspell.dll \
			$(IDLETRACK_TOP)/idletrack.dll

SOUNDS =		$(GAIM_SOUNDS)/leave.wav \
			$(GAIM_SOUNDS)/redalert.wav \
			$(GAIM_SOUNDS)/receive.wav \
			$(GAIM_SOUNDS)/send.wav \
			$(GAIM_SOUNDS)/arrive.wav


##
## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you 
## change the status of a protocol (static/plugin)
##

OSCAR_TYPE = PLUGIN
YAHOO_TYPE = PLUGIN
MSN_TYPE = PLUGIN
TOC_TYPE = PLUGIN
IRC_TYPE = PLUGIN
JABBER_TYPE = PLUGIN
NAPSTER_TYPE = PLUGIN
GG_TYPE = PLUGIN
TREPIA_TYPE = PLUGIN

all:
	cp config.h.mingw config.h
	$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw
	$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw
	$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw
	$(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw
	$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw
	$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw
	$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw


install: all
	mkdir -p $(GAIM_INSTALL_DIR)/plugins
	mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim
	$(MAKE) -C $(GAIM_PIXMAPS) -f Makefile.mingw install
	$(MAKE) -C $(PO) -f Makefile.mingw install
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install
	$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install
	$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install
	$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install
	$(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw install
	$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install
	$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install
	$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install
	cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR)
	cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim

installer:
	makensis.exe /DGAIM_VERSION="$(VERSION)" /DWITH_GTK gaim-installer.nsi

installer_nogtk:
	makensis.exe /DGAIM_VERSION="$(VERSION)" gaim-installer.nsi

installer_debug:
	makensis.exe /DGAIM_VERSION="$(VERSION)" /DDEBUG gaim-installer.nsi

installers: installer installer_nogtk


clean:
	$(MAKE) -C $(PO) -f Makefile.mingw clean
	$(MAKE) -C $(OSCAR) -f Makefile.mingw clean
	$(MAKE) -C $(YAHOO) -f Makefile.mingw clean
	$(MAKE) -C $(MSN) -f Makefile.mingw clean
	$(MAKE) -C $(TOC) -f Makefile.mingw clean
	$(MAKE) -C $(IRC) -f Makefile.mingw clean
	$(MAKE) -C $(JABBER) -f Makefile.mingw clean
	$(MAKE) -C $(GG) -f Makefile.mingw clean
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean
	rm -rf config.h $(GAIM_INSTALL_DIR)
	rm -rf gaim*.exe