dom/plugins/test/testplugin/Makefile.in
author Mike Hommey <mh+mozilla@glandium.org>
Mon, 30 Apr 2012 08:03:59 +0200
changeset 92706 93c2ecbcde044dc4a511538ef9eb92e05c64f738
parent 72584 20076ad5675040f605253f87208038e0e3011ed2
child 95245 7c3cd4824f94609d4ad714bea9c687227c641e63
permissions -rw-r--r--
Bug 748739 - Link stdc++compat as a static library, and always link it when STDCXX_COMPAT is enabled. r=ted

#
# ***** 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 mozilla.org code.
#
# The Initial Developer of the Original Code is mozilla.org
# Portions created by the Initial Developer are Copyright (C) 2008
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#   Dave Townsend <dtownsend@oxymoronical.com>
#
# 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       = nptest
LIBRARY_NAME = nptest
MODULE_NAME  = TestPlugin
FORCE_SHARED_LIB = 1

# Don't use STL wrappers; nptest isn't Gecko code
STL_FLAGS =

# must link statically with the CRT; nptest isn't Gecko code
USE_STATIC_LIBS = 1

# Need to custom install plugins
NO_DIST_INSTALL	= 1
NO_INSTALL = 1

VPATH += $(topsrcdir)/build

CPPSRCS   =  \
  nptest.cpp \
  nptest_utils.cpp \
  $(NULL)

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
CMMSRCS = nptest_macosx.mm
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
CPPSRCS += nptest_gtk2.cpp
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CPPSRCS += nptest_droid.cpp
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
CPPSRCS += nptest_os2.cpp
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
CPPSRCS += nptest_qt.cpp
include $(topsrcdir)/config/config.mk
CXXFLAGS        += $(MOZ_QT_CFLAGS)
CFLAGS          += $(MOZ_QT_CFLAGS)
EXTRA_DSO_LDOPTS = \
                $(MOZ_QT_LIBS) \
                $(XLDFLAGS) \
                $(XLIBS)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
CPPSRCS  += nptest_windows.cpp
RCFILE    = nptest.rc
RESFILE   = nptest.res
DEFFILE   = $(win_srcdir)/nptest.def
OS_LIBS  += $(call EXPAND_LIBNAME,msimg32)

# Windows opt builds without PGO break nptest.dll
MOZ_OPTIMIZE=
endif

include $(topsrcdir)/config/rules.mk

ifndef __LP64__
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
EXTRA_DSO_LDOPTS += -framework Carbon
endif
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
CXXFLAGS        += $(MOZ_GTK2_CFLAGS)
CFLAGS          += $(MOZ_GTK2_CFLAGS)
EXTRA_DSO_LDOPTS += $(MOZ_GTK2_LIBS) $(XLDFLAGS) $(XLIBS) $(XEXT_LIBS)
endif

install-plugin: $(SHARED_LIBRARY)
ifdef SHARED_LIBRARY
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
	$(INSTALL) $(srcdir)/Info.plist $(DIST)/bin/plugins/Test.plugin/Contents
	$(INSTALL) $(SHARED_LIBRARY) $(DIST)/bin/plugins/Test.plugin/Contents/MacOS
else
	$(INSTALL) $(SHARED_LIBRARY) $(DIST)/bin/plugins
endif
endif

libs:: install-plugin