From 3dd30c1cb60608e936d6734b29eb9c01a67cbac6 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Mon, 9 May 2011 09:55:23 -0400 Subject: [PATCH] Automake based build system --- .gitignore | 13 +++++++++ Makefile.am | 40 +++++++++++++++++++++++++++ Makefile.in | 89 ------------------------------------------------------------ configure.ac | 24 ++++++++++++++++ 4 files changed, 77 insertions(+), 89 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile.am delete mode 100644 Makefile.in create mode 100644 configure.ac diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d4ce1b --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +*.o +*~ +autom4te.cache +missing +install-sh +depcomp +configure +Makefile.in +.deps +Makefile +config.log +config.status +aclocal.m4 diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..b3bd043 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,40 @@ +IDL_FLAGS = -I $(MOZ_IDLDIR)/stable +.idl.h: + $(XPIDL) -m header $(IDL_FLAGS)$^ + +.idl.xpt: + $(XPIDL) -m typelib $(IDL_FLAGS)$^ + +AM_CXXFLAGS = $(XUL_CFLAGS) -std=gnu++0x -fPIC -DPIC +AM_LDFLAGS = $(XUL_LDFLAGS) $(XUL_LIBS) + + +noinst_PROGRAMS = libmoonshot.so + +libmoonshot_so_SOURCES = nsHttpMoonshot.cpp \ + nsMoonshotSessionState.cpp \ + nsHttpMoonshotModule.cpp + +BUILT_SOURCES = nsIHttpMoonshot.h + +libmoonshot_so_LINK = $(CXX) -o $@ -shared +libmoonshot_so_LDADD = $(AM_LDFLAGS) + +all: moonshot.xpi + +XPT = nsIHttpMoonshot.xpt + +XPI_INSTALL = $(srcdir)/install.js $(srcdir)/install.rdf + + +moonshot.xpi: $(noinst_PROGRAMS) $(XPT) $(XPI_INSTALL) + test -d xpi ||rm -rf xpi + mkdir -p xpi/components + cp libmoonshot.so xpi/components + cp $(XPI_INSTALL) xpi + cp $(XPT) xpi/components + cd xpi&&zip ../$@ -r . + rm -rf xpi + +MOSTLYCLEANFILES = $(BUILT_SOURCES) $(XPT) +CLEANFILES = moonshot.xpi diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 42bfb40..0000000 --- a/Makefile.in +++ /dev/null @@ -1,89 +0,0 @@ -# vim:set ts=8 sw=8 sts=8 noet: -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# 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 negotiateauth. -# -# The Initial Developer of the Original Code is -# Daniel Kouril -# -# Portions created by the Initial Developer are Copyright (C) 2003 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Daniel Kouril (original author) -# Wyllys Ingersoll -# Christopher Nebergall -# Darin Fisher -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = moonshot -LIBRARY_NAME = moonshot -IS_COMPONENT = 1 -#EXPORT_LIBRARY = 1 -#MODULE_NAME = module -#LIBXUL_LIBRARY = 1 - -REQUIRES = \ - xpcom \ - string \ - necko \ - pref \ - $(NULL) - -CPPSRCS = \ - nsHttpMoonshot.cpp \ - nsMoonshotSessionState.cpp \ - nsHttpMoonshotModule.cpp \ - $(NULL) - -XPIDLSRCS = \ - nsIHttpMoonshot.idl \ - $(NULL) - -EXTRA_DSO_LDOPTS = \ - $(MOZ_COMPONENT_LIBS) \ - -lgssapi_krb5 \ - -lxpcomglue_s \ - $(NULL) - -# XXX: -FORCE_SHARED_LIB = 1 - -include $(topsrcdir)/config/rules.mk - -libs xpi:: - mkdir -p xpi/components - cp lib$(LIBRARY_NAME).so $(XPIDL_GEN_DIR)/$(LIBRARY_NAME).xpt xpi/components - cp $(srcdir)/install.js $(srcdir)/install.rdf xpi - cd xpi && $(ZIP) -r ../$(LIBRARY_NAME).xpi * diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e15f1fb --- /dev/null +++ b/configure.ac @@ -0,0 +1,24 @@ +AC_PREREQ(2.66) +AC_INIT([firefox-moonshot],[0.0.1], +[bugs@project-moonshot.org], [Moonshot Firefox extension]) +AM_INIT_AUTOMAKE([1.11 foreign]) +AC_PROG_CXX +AC_PROG_RANLIB + +PKG_CHECK_MODULES(XUL, libxul) +MOZ_SDKDIR=`pkg-config libxul --variable sdkdir` +MOZ_IDLDIR=`pkg-config libxul --variable idldir` +# We need to override cflags for unstable APIs +XUL_CFLAGS=`pkg-config --cflags libxul --define-variable=includetype=unstable` +AC_SUBST([MOZ_IDLDIR]) +AC_SUBST([MOZ_SDKDIR]) +AC_PATH_PROG([XPIDL], [xpidl], false, [$MOZ_SDKDIR/bin$PATH_SEPARATOR$PATH]) +if [ $XPIDL = "false" ] ;then + AC_ERROR([Couldn't find xpidl]) +fi + +AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context]) + +AC_CHECK_HEADERS(gssapi.h gssapi_ext.h) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT -- 2.1.4