diff --git a/extensions/python/xpcom/makefile.stupid.linux b/extensions/python/xpcom/makefile.stupid.linux deleted file mode 100644 index 51e5a500bde2..000000000000 --- a/extensions/python/xpcom/makefile.stupid.linux +++ /dev/null @@ -1,231 +0,0 @@ -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with the -# License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -# the specific language governing rights and limitations under the License. -# -# The Original Code is the Python XPCOM language bindings. -# -# The Initial Developer of the Original Code is ActiveState Tool Corp. -# Portions created by ActiveState Tool Corp. are Copyright (C) 2000, 2001 -# ActiveState Tool Corp. All Rights Reserved. -# -# Contributor(s): Trent Mick (original author) -# Mark Hammond -# - -# Dumb makefile to build PyXPCOM on linux -# -# The build is by no means clean. I just kept shoving in compiler and linker -# options until it worked. :) -# -# USAGE: -# 1. edit top section as appropriate -# 2. build, install, and test PyXPCOM -# > make -f makefile.stupid.linux DEBUG=1 -# > make -f makefile.stupid.linux DEBUG=1 install -# > make -f makefile.stupid.linux DEBUG=1 test -# A debug build is suggested (DEBUG=1) by default because a default -# mozilla build is a debug build. Exclude the "DEBUG=1" to build for a -# release build of mozilla. -# - -#------------------------- -# You must edit the variables in this section as appropriate for your machine -# The most common edits will just be: -# MOZ_SRC, INSTALLDIR, and PYTHON_SRC -# =========== START OF SECTION FOR COMMON EDITS ===================== - -# this will have an "xpcom" subdir on install -INSTALLDIR=/usr/local/ActivePython-2.0/lib/python2.0/site-packages - -PYTHON_SRC=/usr/local/ActivePython-2.0 - -# =========== START OF SECTION FOR COMMON EDITS ===================== -# We expect a "mozilla" directory under this -MOZ_SRC=../../../.. - -MOZCOMPONENTSDIR=$(MOZ_SRC)/mozilla/dist/bin/components -MOZINCLUDES=-I$(MOZ_SRC)/mozilla/dist/include -I$(MOZ_SRC)/mozilla/dist/include/nspr -I$(MOZ_SRC)/mozilla/dist/include/string -I$(MOZ_SRC)/mozilla/dist/include/xpcom -MOZLIBDIR=$(MOZ_SRC)/mozilla/dist/lib - -# this is setup to use the *installed* Python directory structure -# - To use the development Python dir structure some changes are -# necessary here *and* below (below, because there two lib dir -# to include in LDFLAGS for the dev dir structure) -PYTHON_SRC=/usr/local/ActivePython-2.0 -PYTHONINCLUDES=-I$(PYTHON_SRC)/include/python2.0 -PYTHONLIBDIR=$(PYTHON_SRC)/lib/python2.0/config - -XPIDL=$(MOZ_SRC)/mozilla/dist/bin/xpidl -IDLINCLUDES=-I$(MOZ_SRC)/mozilla/dist/idl - - -#------------------------- -# You should not need to edit anything beyond this point. -# - -# the main PyXPCOM engine library -ENGINE=src/_xpcommodule.so -# the PyXPCOM loader -LOADER=src/loader/libpyloader.so - -all:: $(ENGINE) $(LOADER) - - -#---- build the PyXPCOM loader - -LOADER_CFLAGS=-fpic -fno-rtti -fno-exceptions -Wconversion \ - -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual \ - -Wsynth -pedantic -Wno-long-long -pthread -DTRIMMED -ifdef DEBUG -LOADER_CFLAGS += -DDEBUG -endif - -# NOTE: not sure if using -rpath is the best way to do this -LOADER_LDFLAGS=-Xlinker -rpath -Xlinker $(MOZLIBDIR) \ - -Xlinker -rpath -Xlinker $(MOZLIBDIR)/components \ - -Xlinker -rpath -Xlinker $(PYTHONLIBDIR) \ - -L$(MOZLIBDIR) -L$(PYTHONLIBDIR) -# NOTE: can't remember if "-shared" is necessary here -LOADER_LIBS=-lpython2.0 -ldl -lpthread -lutil -shared -lxpcom -$(LOADER): src/loader/pyloader.cpp - c++ $(LOADER_CFLAGS) $(MOZINCLUDES) $(PYTHONINCLUDES) \ - -c src/loader/pyloader.cpp \ - -o src/loader/pyloader.o - c++ $(LOADER_CFLAGS) $(LOADER_LDFLAGS) $(LOADER_LIBS) \ - -o $(LOADER) \ - src/loader/pyloader.o - - -#---- build the PyXPCOM engine - -ENGINE_CFLAGS=-fpic -fno-rtti -fno-exceptions -Wconversion \ - -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual \ - -Wsynth -pedantic -Wno-long-long -pthread -DTRIMMED -nostdlib -ifdef DEBUG -ENGINE_CFLAGS += -DDEBUG -endif - -# -DXPCOM_EXPORTS -XPCOM_SRC_OBJECTS = \ - src/ErrorUtils.o \ - src/PyGBase.o \ - src/PyGModule.o \ - src/PyGStub.o \ - src/PyGInputStream.o \ - src/PyGWeakReference.o \ - src/PyIClassInfo.o \ - src/PyIComponentManager.o \ - src/PyIInputStream.o \ - src/PyIEnumerator.o \ - src/PyIID.o \ - src/PyIInterfaceInfo.o \ - src/PyIInterfaceInfoManager.o \ - src/PyISimpleEnumerator.o \ - src/PyISupports.o \ - src/Pyxpt_info.o \ - src/TypeObject.o \ - src/VariantUtils.o \ - src/dllmain.o \ - src/xpcom.o - -%.o: %.cpp - c++ $(ENGINE_CFLAGS) $(MOZINCLUDES) $(PYTHONINCLUDES) \ - -c $< -o $@ - -# NOTE: not sure if using -rpath is the best way to do this -# NOTE: can't remember if "-shared" is necessary here -ENGINE_LDFLAGS=-Xlinker -rpath -Xlinker $(MOZLIBDIR) \ - -Xlinker -rpath -Xlinker $(MOZLIBDIR)/components \ - -Xlinker -rpath -Xlinker $(PYTHONLIBDIR) \ - -Xlinker -shared -ENGINE_LIBS=-lpython2.0 -ldl -lpthread -lutil -lxpcom \ - -lnspr4 -lgtk -lgdk -rdynamic -lgmodule -lglib -lm -lplc4 \ - -lpthread -lnsl -lresolv -lm -lc -lgcc - -$(ENGINE): $(XPCOM_SRC_OBJECTS) - c++ $(ENGINE_CFLAGS) $(ENGINE_LDFLAGS) -o $(ENGINE) \ - $(XPCOM_SRC_OBJECTS) -L$(MOZLIBDIR) -L$(PYTHONLIBDIR) $(ENGINE_LIBS) - - -#---- install PyXPCOM - -XPCOM_PACKAGE_FILES = \ - __init__.py \ - components.py \ - file.py \ - nsError.py \ - register.py \ - xpcom_consts.py \ - xpt.py \ - client/__init__.py \ - server/__init__.py \ - server/enumerator.py \ - server/factory.py \ - server/loader.py \ - server/module.py \ - server/policy.py - -# this is a cheasy install -# - no attention to permissions -# - doesn't explicitly use $(XPCOM_PACKAGE_FILES) -install:: all $(XPCOM_PACKAGE_FILES) - mkdir -p $(INSTALLDIR)/xpcom/client - mkdir -p $(INSTALLDIR)/xpcom/server - cp -f *.py $(INSTALLDIR)/xpcom - cp -f client/*.py $(INSTALLDIR)/xpcom/client - cp -f server/*.py $(INSTALLDIR)/xpcom/server - cp -f $(ENGINE) $(INSTALLDIR)/xpcom - mkdir -p $(MOZCOMPONENTSDIR) - cp -f $(LOADER) $(MOZCOMPONENTSDIR) - ( \ - export PYTHONPATH=$(INSTALLDIR):$(PYTHONPATH) ; \ - export MOZILLA_FIVE_HOME=$(MOZ_SRC)/mozilla/dist/bin ; \ - export LD_LIBRARY_PATH=$(MOZ_SRC)/mozilla/dist/bin ; \ - $(MOZ_SRC)/mozilla/dist/bin/regxpcom \ - ) - - -#---- build and run the PyXPCOM test suite - -all:: test/test_component/py_test_component.xpt - -test/test_component/py_test_component.xpt: test/test_component/py_test_component.idl - $(XPIDL) -m typelib -w $(IDLINCLUDES) -o test/test_component/py_test_component $< - -install:: - mkdir -p $(MOZCOMPONENTSDIR) - cp -f test/test_component/py_test_component.xpt $(MOZCOMPONENTSDIR) - cp -f test/test_component/py_test_component.py $(MOZCOMPONENTSDIR) - ( \ - export PYTHONPATH=$(INSTALLDIR):$(PYTHONPATH) ; \ - export MOZILLA_FIVE_HOME=$(MOZ_SRC)/mozilla/dist/bin ; \ - export LD_LIBRARY_PATH=$(MOZ_SRC)/mozilla/dist/bin ; \ - $(MOZ_SRC)/mozilla/dist/bin/regxpcom \ - ) - -test:: install - ( \ - export PYTHONPATH=$(INSTALLDIR):$(PYTHONPATH) ; \ - export MOZILLA_FIVE_HOME=$(MOZ_SRC)/mozilla/dist/bin ; \ - export LD_LIBRARY_PATH=$(MOZ_SRC)/mozilla/dist/bin ; \ - python test/regrtest.py \ - ) - -runpython: install - ( \ - export PYTHONPATH=$(INSTALLDIR):$(PYTHONPATH) ; \ - export MOZILLA_FIVE_HOME=$(MOZ_SRC)/mozilla/dist/bin ; \ - export LD_LIBRARY_PATH=$(MOZ_SRC)/mozilla/dist/bin ; \ - python \ - ) - -clean: - find . -name "*~" | xargs rm -f - find . -name "*.o" | xargs rm -f - find . -name "*.pyc" | xargs rm -f - find . -name "*.so" | xargs rm -f -