[James Newton] osx port for Gajim. a GREAT thanks!!!

This commit is contained in:
Yann Leboulanger 2007-11-14 19:47:52 +00:00
parent 819b3c7335
commit 1f7a462788
61 changed files with 7448 additions and 69 deletions

View file

@ -48,6 +48,16 @@ MAINTAINERCLEANFILES = \
compile \
depcomp \
config.guess \
config.log \
config.sub \
config.status \
aclocal.m4 \
libtool
libtool \
po/POTFILES.in \
src/trayicon_la-eggtrayicon.loT \
m4/intltool.m4
MAINTAINERCLEANDIRS = \
autom4te.cache \
build \
dist

99
README.osx Normal file
View file

@ -0,0 +1,99 @@
Introduction
------------
This is an alpha release of Gajim for OS/X using native GTK+. It is not finished
nor is it relatively stable. The native port of GTK+ is alpha and not stable
yet, though it has proven to be usable for Gajim. Having said that it is usable,
basic functionality works. See the TODO file for a list of what is and is not
working.
Installing
----------
Install the GTK+ framework into your /Library/Frameworks directory. It can be
found at http://codepunks.org/misc/gtk/osx.
Copy the Gajim.app into the /Applications directory or any other directory.
Installing language dictionaries
--------------------------------
The codepunks.org build of the GTK+ framework comes with the US English
dictionary pre-installed. If you wish to install a different dictionary download
the appropriate dictionary from here:
http://ftp.gnu.org/gnu/aspell/dict/
Then follow these instructions:
source /Library/Frameworks/GTK+.framework/Versions/Current/bin/env
tar -jxf aspell-<lang>-<version>.tbz2
cd aspell-<lang>-<version>
./configure
make
make install
Compiling Requirements
----------------------
These instructions were gathered for building a universal binary on a PPC. The
steps for building on an i386 should be essentially the same.
Requirements:
- OS/X 10.4, i386 or ppc
- Universal MacPython 2.5
http://www.pythonmac.org/packages/py25-fat/index.html
- Latest XCode (2.4.0 or greater)
- py2app
http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
Install all of the requirements. Make sure that the universal MacPython is
installed before py2app. Then ensure that this is the first python in your
PATH.
export PATH=/Library/Frameworks/Python.framework/Versions/2.5/bin:$PATH
Then install py2app.
Compiling
---------
In the top level run the configure script. If this is source is from subversion
then run the autogen.sh script. Follow it up with a make:
./configure
or
./autogen.sh
make
Once that is done Gajim can be run from the source tree. You may also create an
app bundle suitable for use or distribution. To do that run:
python setup_osx.py build
The Gajim.app bundle is created in the dist directory. This bundle is ready
for use as is. Copy it to your /Applications directory and you're good to go.
You now have a self contained (almost, requires GTK+.framework still) universal
native build of Gajim.
Optionally to create a distribution of the Gajim app bundle do:
python setup_osx.py dist
Development
-----------
It is possible to run Gajim correctly from the app bundle but still use the
python code in the source tree. This line must be added to the _run() function
in the Gajim.app/Resources/__boot__.py file. It needs to be located just after
the sys module is imported. Font forget to fix the path to match your
environment.
sys.path = ["/Users/user/Source/gajim/src"] + sys.path

38
TODO.osx Normal file
View file

@ -0,0 +1,38 @@
The bits that work
------------------
-idle checking
-dbus and gajim-remote, using dbus from GTK+.framework.
-systray icon
-app bundle with universal binaries. Depends on the GTK+.framework.
-notifications through growl, internal fallback works fine as well
-spell checking
-running apps and opening files/urls
-playing sounds
-Network monitoring
-Mostly everything else except for whats below.
The bits that dont work
-----------------------
-Application start/stop/doc/DnD handling
-finish the .app bundle
- setup gajim-remote, maybe install it to /usr/local
- fix user session management
-integrate the Gajim and gajim-remote scripts with autoconf and add GTK
framework detection
-Pass icons to OS/X menu
-set the LSEnvironment in Info.plist for gtk paths instead of hard coding in
gajim.py
-Maybe setup the pasteboard services for an OS/X alternative to the
gajim_remote
-CFBundleDocumentTypes.NSDocument
Native GTK bugs
----------------
-cut and paste blows up Finder and the os/x GUI server. very very nasty.
-with mutiple displays, popup menus show up on the wrong display

View file

@ -8,11 +8,19 @@
echo "See README.html for build requirements."
exit 1
fi
set -x
AM_ARGS="--add-missing --gnu --copy"
CONF_ARGS=""
if test x`uname -s 2>/dev/null` = 'xDarwin';then
. /Library/Frameworks/GTK+.framework/Versions/Current/env
#export PATH=/Library/Frameworks/GTK+.framework/Versions/Current/bin/:$PATH
#export PKG_CONFIG_PATH=/Library/Frameworks/GTK+.framework/Versions/Current/lib/pkgconfig
AM_ARGS="${AM_ARGS} --ignore-deps"
CONF_ARGS="${CONF_ARGS} --disable-idle --without-x"
fi
intltoolize --force --automake \
&& aclocal -I ./m4 \
&& libtoolize --copy --force --automake \
&& autoheader \
&& autoconf \
&& automake --add-missing --gnu --copy \
&& ./configure $@
&& automake ${AM_ARGS} \
&& ./configure ${CONF_ARGS} $@

View file

@ -6,6 +6,9 @@ AC_CONFIG_HEADER(config.h)
AC_CONFIG_MACRO_DIR([m4])
AM_MAINTAINER_MODE
dnl Make Objective-C work with automake
AM_CONDITIONAL([am__fastdepOBJC], false)
IT_PROG_INTLTOOL([0.35.0])
PKG_PROG_PKG_CONFIG([0.19])
@ -128,6 +131,75 @@ AC_ARG_ENABLE(trayicon,
test "x$enable_trayicon" = "xyes" && have_trayicon=true || have_trayicon=false
AM_CONDITIONAL(BUILD_TRAYICON, $have_trayicon)
dnl ****
dnl Cocoa
dnl ****
AC_ARG_ENABLE([cocoa],
[ --disable-cocoa build cocoa integration [default auto]],
enable_cocoa=$enableval, enable_cocoa=yes)
if test "x$enable_cocoa" = "xyes";then
dnl There is no pkgconfig for cocoa; lets do a header check
temp_save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -ObjC"
AC_CHECK_HEADER(Cocoa/Cocoa.h, [have_cocoa=true], [have_cocoa=false])
AC_CHECK_HEADER(AppKit/AppKit.h, [have_appkit=true], [have_appkit=false])
CFLAGS="$temp_save_cflags"
if test "x$have_cocoa" = "xtrue";then
COCOA_LIBS="$COCOA_LIBS -Xlinker -framework -Xlinker Cocoa"
fi
if test "x$have_appkit" = "xtrue";then
COCOA_LIBS="$COCOA_LIBS -Xlinker -framework -Xlinker AppKit"
fi
if test "x$COCOA_LIBS" != "x";then
AC_SUBST(COCOA_LIBS)
true
fi
fi
AM_CONDITIONAL(BUILD_COCOA, $have_cocoa)
dnl ****
dnl Carbon
dnl ****
AC_ARG_ENABLE([carbon],
[ --disable-carbon build with carbon [default auto]],
enable_carbon=$enableval, enable_carbon=yes)
if test "x$enable_carbon" = "xyes";then
dnl There is no pkgconfig for carbon; lets do a header check
AC_CHECK_HEADER(Carbon/Carbon.h, [have_carbon=true], [have_carbon=false])
AC_CHECK_HEADER(IOKit/IOKitLib.h, [have_iokit=true], [have_iokit=false])
if test "x$have_carbon" = "xtrue";then
CARBON_LIBS="$CARBON_LIBS -Xlinker -framework -Xlinker Carbon"
fi
if test "x$have_iokit" = "xtrue";then
CARBON_LIBS="$CARBON_LIBS -Xlinker -framework -Xlinker IOKit"
fi
if test "x$CARBON_LIBS" != "x";then
AC_SUBST(CARBON_LIBS)
have_idle_osx=true
dnl Disable X11 idle
have_idle=false
AM_CONDITIONAL(BUILD_IDLE, false)
dnl Disable custom trayicon
have_trayicon=gtk+
AM_CONDITIONAL(BUILD_TRAYICON, false)
dnl Hack to work around failure in gettext package detection on OS/X
if test "x$GMSGFMT" = "x";then
AC_SUBST(GMSGFMT, msgfmt)
AC_SUBST(MSGFMT, msgfmt)
AC_SUBST(XGETTEXT, xgettext)
fi
else
have_carbon=false
have_idle_osx=false
fi
fi
AM_CONDITIONAL(BUILD_IDLE_OSX, $have_carbon)
AM_CONDITIONAL(BUILD_CARBON, $have_carbon)
ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
AC_SUBST(ACLOCAL_AMFLAGS)
@ -159,6 +231,9 @@ AC_CONFIG_FILES([
data/defs.py
src/Makefile
src/common/Makefile
src/osx/Makefile
src/osx/growl/Makefile
src/osx/syncmenu/Makefile
scripts/gajim
scripts/gajim-remote
po/Makefile.in
@ -171,4 +246,6 @@ echo "
idle module ...... ${have_idle}
remote control ... ${have_remote}
trayicon ......... ${have_trayicon}
idle module OSX .. ${have_idle_osx}
cocoa ............ ${have_cocoa}
*****************************"

4
data/nibs/Gajim.nib/classes.nib generated Normal file
View file

@ -0,0 +1,4 @@
{
IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; });
IBVersion = 1;
}

21
data/nibs/Gajim.nib/info.nib generated Normal file
View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>69 10 356 240 0 0 1280 832 </string>
<key>IBEditorPositions</key>
<dict>
<key>29</key>
<string>245 312 185 44 0 0 1280 832 </string>
</dict>
<key>IBFramework Version</key>
<string>446.1</string>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>8R218</string>
</dict>
</plist>

BIN
data/nibs/Gajim.nib/keyedobjects.nib generated Normal file

Binary file not shown.

BIN
data/pixmaps/gajim.icns Normal file

Binary file not shown.

View file

@ -1,3 +1,10 @@
#!/bin/bash
cd `dirname $0`/src
BASE=`pwd`/`dirname $0`
OS=`uname -s`
if [ "x${OS}" == "xDarwin" ]; then
export RESOURCEPATH="${BASE}/dist/Gajim.app/Contents/Resources"
fi
cd ${BASE}/src
exec -a gajim python -OOt gajim.py $@

362
setup_osx.py Normal file
View file

@ -0,0 +1,362 @@
"""
Usage:
python setup_osx.py [build | dist]
"""
from setuptools import setup
import sys, glob, os, commands, types
from os import system, unlink, symlink, getcwd, mkdir, utime
from shutil import move, copy, copytree, rmtree
###
### Globals
###
GTK_DIR="/Library/Frameworks/GTK+.framework/Versions/Current"
NAME = 'Gajim'
VERSION = '0.11'
DESCRIPTION = 'A full featured Jabber client'
AUTHOR = 'Gajim Development Team'
URL = 'http://www.gajim.org/'
DOWNLOAD_URL = 'http://www.gajim.org/downloads.php'
LICENSE = 'GPL'
PWD = getcwd()
APP_RS = "dist/Gajim.app/Contents/Resources"
GAJIM_SCRIPT = \
'#!/bin/bash \n\
export DYLD_LIBRARY_PATH=%s/lib \n\
export PATH=%s/bin:$PATH \n\
exec ${0}.bin \n\
' % (GTK_DIR, GTK_DIR)
GAJIM_REMOTE_SCRIPT = \
'#!/bin/bash \n\
export DYLD_LIBRARY_PATH=%s/lib \n\
TOPDIR=${0%%/MacOS/gajim-remote} \n\
echo "${TOPDIR}" | grep -e "^/" \n\
[ $? -ne 0 ] && TOPDIR=`pwd`/${TOPDIR} \n\
export RESOURCEPATH=${TOPDIR}/Resources \n\
export PYTHONHOME=${RESOURCEPATH}/lib/python2.5 \n\
export PYTHONPATH=${RESOURCEPATH}/lib/python2.5/lib-dynload:${RESOURCEPATH}/lib/python2.5/site-packages.zip:${PYTHONPATH} \n\
cd ${RESOURCEPATH} \n\
exec ${TOPDIR}/MacOS/Python ${RESOURCEPATH}/gajim-remote.py $* \n\
' % GTK_DIR
###
### Functions
###
def check(ret):
if type(ret) == types.ListType:
if ret[0] != 0:
raise Exception("Command failed: " + ret[1])
elif type(ret) == types.IntType:
if ret != 0:
raise Exception("Command failed")
return
def force(func):
try:
func()
except:
pass
return
def writeScript(filename, contents):
script = file(filename, "w+")
script.write(contents)
script.close()
system("chmod +x %s" % filename)
return
def cleanup():
force(lambda:rmtree("build"))
force(lambda:rmtree("dist"))
def stageInstall():
check(system("make DATADIR=%s/build/inst LIBDIR=%s/build/inst prefix=%s/build/inst DOCDIR=%s/build/inst/share/doc install" % (PWD, PWD, PWD, PWD)))
force(lambda:unlink("src/osx/growl/_growl.so"))
force(lambda:unlink("src/osx/growl/_growlImage.so"))
force(lambda:unlink("src/osx/idle.so"))
force(lambda:unlink("src/osx/nsapp.so"))
force(lambda:unlink("src/osx/syncmenu.so"))
force(lambda:unlink("src/gtkspell.so"))
symlink("%s/build/inst/lib/gajim/_growl.so" % PWD, "src/osx/growl/_growl.so")
symlink("%s/build/inst/lib/gajim/_growlImage.so" % PWD,
"src/osx/growl/_growlImage.so")
symlink("%s/build/inst/lib/gajim/idle.so" % PWD, "src/osx/idle.so")
symlink("%s/build/inst/lib/gajim/nsapp.so" % PWD, "src/osx/nsapp.so")
symlink("%s/build/inst/lib/gajim/syncmenu.so" % PWD, "src/osx/syncmenu.so")
if os.path.isfile("build/inst/lib/gajim/gtkspell.so"):
symlink("%s/build/inst/lib/gajim/gtkspell.so" % PWD, "src/gtkspell.so")
return
def buildApp():
sys.path.append('src')
sys.path.append(GTK_DIR + "/lib/python2.5/site-packages")
sys.path.append(GTK_DIR + "/lib/python2.5/site-packages/gtk-2.0")
OPTIONS = {'argv_emulation':True,
'excludes':'docutils,Crypto,dbus,OpenSSL,cairo,gtk,gobject,atk,pangocairo',
'iconfile':'data/pixmaps/gajim.icns',
'includes':'osx,ConfigParser,compiler,UserString,history_manager',
'plist':{'LSMinimumSystemVersion':'10.4.0',
'NSHumanReadableCopyright':'GNU General Public License',
'CFBundleIdentifier':'org.gajim',
'NSMainNibFile':'Gajim',
},
}
setup(
name = NAME, version = VERSION, description = DESCRIPTION,
author = AUTHOR, url = URL, download_url = DOWNLOAD_URL,
license = LICENSE,
app=['src/gajim.py'],
data_files=['data/nibs/Gajim.nib'],
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
return
def finishApp():
# setup gajim dirs
copytree("build/inst/share/gajim/data", APP_RS + "/data")
copy("data/pixmaps/gajim.icns", APP_RS + "/data/pixmaps")
copytree("build/inst/locale", APP_RS + "/locale")
copytree("build/inst/share/man", APP_RS + "/man")
force(lambda:unlink("dist/Gajim.app/Contents/data"))
symlink("Resources/data", "dist/Gajim.app/Contents/data")
copy("src/gajim-remote.py", "dist/Gajim.app/Contents/Resources")
# Nuke libs that are in the framework
move("dist/Gajim.app/Contents/Frameworks/Python.framework",
"dist/Gajim.app/Contents/Python.framework")
rmtree("dist/Gajim.app/Contents/Frameworks")
mkdir("dist/Gajim.app/Contents/Frameworks")
move("dist/Gajim.app/Contents/Python.framework",
"dist/Gajim.app/Contents/Frameworks/Python.framework")
# Adjust the running of the app
move("dist/Gajim.app/Contents/MacOS/Gajim",
"dist/Gajim.app/Contents/MacOS/Gajim.bin")
writeScript("dist/Gajim.app/Contents/MacOS/Gajim", GAJIM_SCRIPT)
# Setup the gajim-remote script
writeScript("dist/Gajim.app/Contents/MacOS/gajim-remote",
GAJIM_REMOTE_SCRIPT)
# Touch the top dir so Finder knows to update its idea of this bundle
utime("dist/Gajim.app", None)
return
def distApp():
force(lambda:rmtree("dist/Gajim"))
force(lambda:rmtree("dist/Gajim.tar.bz2"))
mkdir("dist/Gajim")
check(system("tar -cf - -C dist Gajim.app | tar -xf - -C dist/Gajim"))
copy("README.osx", "dist/Gajim/README")
copy("TODO.osx", "dist/Gajim/TODO")
check(system("tar -C dist -jcf dist/Gajim-OSX-`date | awk '{printf(\"%s-%s-%s\", $6, $2, $3);}'`.tar.bz2 Gajim"))
rmtree("dist/Gajim")
return
###
### Start
###
if ((len(sys.argv) != 2) or ((sys.argv[1] != "build") and
(sys.argv[1] != "dist"))):
print "usage: python setup_osx.py [build]"
print " or: python setup_osx.py [dist]"
sys.exit(1)
elif sys.argv[1] == "build":
sys.argv[1] = "py2app"
cleanup()
stageInstall()
buildApp()
finishApp()
elif sys.argv[1] == "dist":
distApp()
"""
Usage:
python setup_osx.py [build | dist]
"""
from setuptools import setup
import sys, glob, os, commands, types
from os import system, unlink, symlink, getcwd, mkdir, utime
from shutil import move, copy, copytree, rmtree
###
### Globals
###
GTK_DIR="/Library/Frameworks/GTK+.framework/Versions/Current"
NAME = 'Gajim'
VERSION = '0.11'
DESCRIPTION = 'A full featured Jabber client'
AUTHOR = 'Gajim Development Team'
URL = 'http://www.gajim.org/'
DOWNLOAD_URL = 'http://www.gajim.org/downloads.php'
LICENSE = 'GPL'
PWD = getcwd()
APP_RS = "dist/Gajim.app/Contents/Resources"
GAJIM_SCRIPT = \
'#!/bin/bash \n\
export DYLD_LIBRARY_PATH=%s/lib \n\
export PATH=%s/bin:$PATH \n\
exec ${0}.bin \n\
' % (GTK_DIR, GTK_DIR)
GAJIM_REMOTE_SCRIPT = \
'#!/bin/bash \n\
export DYLD_LIBRARY_PATH=%s/lib \n\
TOPDIR=${0%%/MacOS/gajim-remote} \n\
echo "${TOPDIR}" | grep -e "^/" \n\
[ $? -ne 0 ] && TOPDIR=`pwd`/${TOPDIR} \n\
export RESOURCEPATH=${TOPDIR}/Resources \n\
export PYTHONHOME=${RESOURCEPATH}/lib/python2.5 \n\
export PYTHONPATH=${RESOURCEPATH}/lib/python2.5/lib-dynload:${RESOURCEPATH}/lib/python2.5/site-packages.zip:${PYTHONPATH} \n\
cd ${RESOURCEPATH} \n\
exec ${TOPDIR}/MacOS/Python ${RESOURCEPATH}/gajim-remote.py $* \n\
' % GTK_DIR
###
### Functions
###
def check(ret):
if type(ret) == types.ListType:
if ret[0] != 0:
raise Exception("Command failed: " + ret[1])
elif type(ret) == types.IntType:
if ret != 0:
raise Exception("Command failed")
return
def force(func):
try:
func()
except:
pass
return
def writeScript(filename, contents):
script = file(filename, "w+")
script.write(contents)
script.close()
system("chmod +x %s" % filename)
return
def cleanup():
force(lambda:rmtree("build"))
force(lambda:rmtree("dist"))
def stageInstall():
check(system("make DATADIR=%s/build/inst LIBDIR=%s/build/inst prefix=%s/build/inst DOCDIR=%s/build/inst/share/doc install" % (PWD, PWD, PWD, PWD)))
force(lambda:unlink("src/osx/growl/_growl.so"))
force(lambda:unlink("src/osx/growl/_growlImage.so"))
force(lambda:unlink("src/osx/idle.so"))
force(lambda:unlink("src/osx/nsapp.so"))
force(lambda:unlink("src/osx/syncmenu.so"))
force(lambda:unlink("src/gtkspell.so"))
symlink("%s/build/inst/lib/gajim/_growl.so" % PWD, "src/osx/growl/_growl.so")
symlink("%s/build/inst/lib/gajim/_growlImage.so" % PWD,
"src/osx/growl/_growlImage.so")
symlink("%s/build/inst/lib/gajim/idle.so" % PWD, "src/osx/idle.so")
symlink("%s/build/inst/lib/gajim/nsapp.so" % PWD, "src/osx/nsapp.so")
symlink("%s/build/inst/lib/gajim/syncmenu.so" % PWD, "src/osx/syncmenu.so")
if os.path.isfile("build/inst/lib/gajim/gtkspell.so"):
symlink("%s/build/inst/lib/gajim/gtkspell.so" % PWD, "src/gtkspell.so")
return
def buildApp():
sys.path.append('src')
sys.path.append(GTK_DIR + "/lib/python2.5/site-packages")
sys.path.append(GTK_DIR + "/lib/python2.5/site-packages/gtk-2.0")
OPTIONS = {'argv_emulation':True,
'excludes':'docutils,Crypto,dbus,OpenSSL,cairo,gtk,gobject,atk,pangocairo',
'iconfile':'data/pixmaps/gajim.icns',
'includes':'osx,ConfigParser,compiler,UserString,history_manager',
'plist':{'LSMinimumSystemVersion':'10.4.0',
'NSHumanReadableCopyright':'GNU General Public License',
'CFBundleIdentifier':'org.gajim',
'NSMainNibFile':'Gajim',
},
}
setup(
name = NAME, version = VERSION, description = DESCRIPTION,
author = AUTHOR, url = URL, download_url = DOWNLOAD_URL,
license = LICENSE,
app=['src/gajim.py'],
data_files=['data/nibs/Gajim.nib'],
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
return
def finishApp():
# setup gajim dirs
copytree("build/inst/share/gajim/data", APP_RS + "/data")
copy("data/pixmaps/gajim.icns", APP_RS + "/data/pixmaps")
copytree("build/inst/locale", APP_RS + "/locale")
copytree("build/inst/share/man", APP_RS + "/man")
force(lambda:unlink("dist/Gajim.app/Contents/data"))
symlink("Resources/data", "dist/Gajim.app/Contents/data")
copy("src/gajim-remote.py", "dist/Gajim.app/Contents/Resources")
# Nuke libs that are in the framework
move("dist/Gajim.app/Contents/Frameworks/Python.framework",
"dist/Gajim.app/Contents/Python.framework")
rmtree("dist/Gajim.app/Contents/Frameworks")
mkdir("dist/Gajim.app/Contents/Frameworks")
move("dist/Gajim.app/Contents/Python.framework",
"dist/Gajim.app/Contents/Frameworks/Python.framework")
# Adjust the running of the app
move("dist/Gajim.app/Contents/MacOS/Gajim",
"dist/Gajim.app/Contents/MacOS/Gajim.bin")
writeScript("dist/Gajim.app/Contents/MacOS/Gajim", GAJIM_SCRIPT)
# Setup the gajim-remote script
writeScript("dist/Gajim.app/Contents/MacOS/gajim-remote",
GAJIM_REMOTE_SCRIPT)
# Touch the top dir so Finder knows to update its idea of this bundle
utime("dist/Gajim.app", None)
return
def distApp():
force(lambda:rmtree("dist/Gajim"))
force(lambda:rmtree("dist/Gajim.tar.bz2"))
mkdir("dist/Gajim")
check(system("tar -cf - -C dist Gajim.app | tar -xf - -C dist/Gajim"))
copy("README.osx", "dist/Gajim/README")
copy("TODO.osx", "dist/Gajim/TODO")
check(system("tar -C dist -jcf dist/Gajim-OSX-`date | awk '{printf(\"%s-%s-%s\", $6, $2, $3);}'`.tar.bz2 Gajim"))
rmtree("dist/Gajim")
return
###
### Start
###
if ((len(sys.argv) != 2) or ((sys.argv[1] != "build") and
(sys.argv[1] != "dist"))):
print "usage: python setup_osx.py [build]"
print " or: python setup_osx.py [dist]"
sys.exit(1)
elif sys.argv[1] == "build":
sys.argv[1] = "py2app"
cleanup()
stageInstall()
buildApp()
finishApp()
elif sys.argv[1] == "dist":
distApp()

View file

@ -1,9 +1,10 @@
SUBDIRS = common
SUBDIRS = common osx
CLEANFILES = \
trayicon.c
INCLUDES = \
$(PYTHON_INCLUDES)
export MACOSX_DEPLOYMENT_TARGET=10.4
if BUILD_GTKSPELL
gtkspelllib_LTLIBRARIES = gtkspell.la

View file

@ -26,6 +26,7 @@
##
import sys
import re
import copy
import defs
@ -50,6 +51,16 @@ opt_treat_incoming_messages = ['', 'chat', 'normal']
class Config:
DEFAULT_ICONSET = 'dcraven'
if sys.platform == 'darwin':
DEFAULT_OPENWITH = 'open'
DEFAULT_BROWSER = 'open -a firefox'
DEFAULT_MAILAPP = 'open -a thunderbird'
DEFAULT_FILE_MANAGER = 'open'
else:
DEFAULT_OPENWITH = 'gnome-open'
DEFAULT_BROWSER = 'firefox'
DEFAULT_MAILAPP = 'mozilla-thunderbird -compose'
DEFAULT_FILE_MANAGER = 'xffm'
__options = {
# name: [ type, default_value, help_string ]
@ -108,10 +119,10 @@ class Config:
'sounds_on': [ opt_bool, True ],
# 'aplay', 'play', 'esdplay', 'artsplay' detected first time only
'soundplayer': [ opt_str, '' ],
'openwith': [ opt_str, 'gnome-open' ],
'custombrowser': [ opt_str, 'firefox' ],
'custommailapp': [ opt_str, 'mozilla-thunderbird -compose' ],
'custom_file_manager': [ opt_str, 'xffm' ],
'openwith': [ opt_str, DEFAULT_OPENWITH ],
'custombrowser': [ opt_str, DEFAULT_BROWSER ],
'custommailapp': [ opt_str, DEFAULT_MAILAPP ],
'custom_file_manager': [ opt_str, DEFAULT_FILE_MANAGER ],
'gc-hpaned-position': [opt_int, 430],
'gc_refer_to_nick_char': [opt_str, ',', _('Character to add after nickname when using nick completion (tab) in group chat.')],
'gc_proposed_nick_char': [opt_str, '_', _('Character to propose to add after desired nickname when desired nickname is used by someone else in group chat.')],

View file

@ -20,7 +20,7 @@
## along with Gajim. If not, see <http://www.gnu.org/licenses/>.
##
import os
import os, sys
from common import gajim
from common import exceptions
@ -28,10 +28,13 @@ from common import exceptions
_GAJIM_ERROR_IFACE = 'org.gajim.dbus.Error'
try:
if sys.platform == 'darwin':
import osx.dbus
osx.dbus.load(True)
import dbus
import dbus.service
import dbus.glib
supported = True # does use have D-Bus bindings?
supported = True # does user have D-Bus bindings?
except ImportError:
supported = False
if not os.name == 'nt': # only say that to non Windows users
@ -103,7 +106,7 @@ class SessionBus:
session_bus = SessionBus()
def get_interface(interface, path):
'''Returns an interface on the current SessionBus. If the interface isn't
'''Returns an interface on the current SessionBus. If the interface isn\'t
running, it tries to start it first.'''
if not supported:
return None

View file

@ -30,6 +30,7 @@ import urllib
import errno
import select
import sha
import sys
from encodings.punycode import punycode_encode
from encodings import idna
@ -39,6 +40,9 @@ from i18n import ngettext
from xmpp_stringprep import nodeprep, resourceprep, nameprep
if sys.platform == 'darwin':
from osx import nsapp
try:
import winsound # windows-only built-in module for playing wav
import win32api
@ -474,7 +478,9 @@ def play_sound_file(path_to_soundfile):
return
if path_to_soundfile is None or not os.path.exists(path_to_soundfile):
return
if os.name == 'nt':
if sys.platform == 'darwin':
nsapp.playFile(path_to_soundfile)
elif os.name == 'nt':
try:
winsound.PlaySound(path_to_soundfile,
winsound.SND_FILENAME|winsound.SND_ASYNC)

View file

@ -258,7 +258,7 @@ class HostTester(Socks5, IdleObject):
except Exception, ee:
(errnum, errstr) = ee
# 56 is for freebsd
if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK, 56):
if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK):
# still trying to connect
return
# win32 needs this

View file

@ -25,7 +25,7 @@
##
from common import gajim
import os
import os, sys
STATE_UNKNOWN = 'OS probably not supported'
@ -47,6 +47,8 @@ try:
lastInputInfo = LASTINPUTINFO()
lastInputInfo.cbSize = ctypes.sizeof(lastInputInfo)
elif sys.platform == 'darwin':
import osx.idle as idle
else: # unix
import idle
except:

View file

@ -24,7 +24,7 @@
import gtk
import gobject
import os
import os, sys
import common.config
import common.sleepy
from common.i18n import Q_
@ -259,7 +259,7 @@ class PreferencesWindow:
self.auto_popup_away_checkbutton.set_active(st)
# sounds
if os.name == 'nt':
if ((os.name == 'nt') or (sys.platform == 'darwin')):
# if windows, player must not become visible on show_all
soundplayer_hbox = self.xml.get_widget('soundplayer_hbox')
soundplayer_hbox.set_no_show_all(True)
@ -397,6 +397,12 @@ class PreferencesWindow:
'applications_combobox')
self.xml.get_widget('custom_apps_frame').hide()
self.xml.get_widget('custom_apps_frame').set_no_show_all(True)
if sys.platform == 'darwin':
self.applications_combobox.remove_text(3)
self.applications_combobox.remove_text(2)
self.applications_combobox.remove_text(1)
if gajim.config.get('autodetect_browser_mailer'):
self.applications_combobox.set_active(0)
# else autodetect_browser_mailer is False.
@ -408,7 +414,10 @@ class PreferencesWindow:
elif gajim.config.get('openwith') == 'exo-open':
self.applications_combobox.set_active(3)
elif gajim.config.get('openwith') == 'custom':
self.applications_combobox.set_active(4)
if sys.platform == 'darwin':
self.applications_combobox.set_active(1)
else:
self.applications_combobox.set_active(4)
self.xml.get_widget('custom_apps_frame').show()
self.xml.get_widget('custom_browser_entry').set_text(
@ -898,19 +907,27 @@ class PreferencesWindow:
def on_applications_combobox_changed(self, widget):
gajim.config.set('autodetect_browser_mailer', False)
if widget.get_active() == 4:
self.xml.get_widget('custom_apps_frame').show()
gajim.config.set('openwith', 'custom')
else:
if sys.platform == 'darwin':
if widget.get_active() == 0:
gajim.config.set('autodetect_browser_mailer', True)
self.xml.get_widget('custom_apps_frame').hide()
elif widget.get_active() == 1:
gajim.config.set('openwith', 'gnome-open')
elif widget.get_active() == 2:
gajim.config.set('openwith', 'kfmclient exec')
elif widget.get_active() == 3:
gajim.config.set('openwith', 'exo-open')
self.xml.get_widget('custom_apps_frame').hide()
self.xml.get_widget('custom_apps_frame').show()
gajim.config.set('openwith', 'custom')
else:
if widget.get_active() == 4:
self.xml.get_widget('custom_apps_frame').show()
gajim.config.set('openwith', 'custom')
else:
if widget.get_active() == 0:
gajim.config.set('autodetect_browser_mailer', True)
elif widget.get_active() == 1:
gajim.config.set('openwith', 'gnome-open')
elif widget.get_active() == 2:
gajim.config.set('openwith', 'kfmclient exec')
elif widget.get_active() == 3:
gajim.config.set('openwith', 'exo-open')
self.xml.get_widget('custom_apps_frame').hide()
gajim.interface.save_config()
def on_custom_browser_entry_changed(self, widget):
@ -2105,7 +2122,7 @@ class AccountsWindow:
else:
gajim.interface.roster.regroup = False
gajim.interface.roster.draw_roster()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
elif not gajim.config.get('enable_zeroconf') and widget.get_active():
self.xml.get_widget('zeroconf_notebook').set_sensitive(True)
@ -2137,7 +2154,7 @@ class AccountsWindow:
else:
gajim.interface.roster.regroup = False
gajim.interface.roster.draw_roster()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
gajim.interface.save_config()
self.on_checkbutton_toggled(widget, 'enable_zeroconf')
@ -2564,7 +2581,7 @@ class RemoveAccountWindow:
else:
gajim.interface.roster.regroup = False
gajim.interface.roster.draw_roster()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
if gajim.interface.instances.has_key('accounts'):
gajim.interface.instances['accounts'].init_accounts()
self.window.destroy()
@ -2760,7 +2777,7 @@ class ManageBookmarksWindow:
gajim.connections[account_unicode].bookmarks.append(bmdict)
gajim.connections[account_unicode].store_bookmarks()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
self.window.destroy()
def on_cancel_button_clicked(self, widget):
@ -3347,5 +3364,5 @@ class AccountCreationWizardWindow:
else:
gajim.interface.roster.regroup = False
gajim.interface.roster.draw_roster()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
gajim.interface.save_config()

View file

@ -318,6 +318,10 @@ class ConversationTextview:
return True
def smooth_scroll_timeout(self):
gobject.idle_add(self.do_smooth_scroll_timeout)
return
def do_smooth_scroll_timeout(self):
if not self.smooth_id:
# we finished scrolling
return

View file

@ -881,7 +881,9 @@ class AboutDialog:
artists = ['Anders Ström', 'Christophe Got', 'Dennis Craven',
'Guillaume Morin', 'Josef Vybíral', 'Membris Khan']
dlg.set_artists(artists)
gobject.idle_add(self.dorun, dlg)
def dorun(self, dlg):
rep = dlg.run()
dlg.destroy()
@ -1932,6 +1934,7 @@ class SingleMessageWindow:
self.message_tv_buffer.place_cursor(end_iter)
def save_pos(self):
print 'save_pos'
if gajim.config.get('saveposition'):
# save the window size and position
x, y = self.window.get_position()
@ -1943,6 +1946,7 @@ class SingleMessageWindow:
gajim.interface.save_config()
def on_single_message_window_delete_event(self, window, ev):
print 'delete_event'
self.save_pos()
def prepare_widgets_for(self, action):
@ -2019,6 +2023,7 @@ class SingleMessageWindow:
self.window.destroy()
def on_close_button_clicked(self, widget):
print 'close'
self.save_pos()
self.window.destroy()

View file

@ -19,6 +19,7 @@
##
import os
import sys
import gtk
import gobject
import gtkgui_helpers
@ -219,6 +220,12 @@ class FeaturesWindow:
def notification_available(self):
if os.name == 'nt':
return False
elif sys.platform == 'darwin':
try:
import osx.growler
except:
return False
return True
from common import dbus_support
if self.dbus_available() and dbus_support.get_notifications_interface():
return True

View file

@ -40,6 +40,9 @@ def send_error(error_message):
sys.exit(1)
try:
if sys.platform == 'darwin':
import osx.dbus
osx.dbus.load(False)
import dbus
import dbus.service
import dbus.glib

View file

@ -25,10 +25,17 @@
## along with Gajim. If not, see <http://www.gnu.org/licenses/>.
##
import sys
import os
import urllib
if sys.platform == 'darwin':
OSX_FRAMEWORK='/Library/Frameworks/GTK+.framework/Versions/Current'
sys.path.append('%s/lib/python2.5/site-packages' % OSX_FRAMEWORK)
sys.path.append('%s/lib/python2.5/site-packages/gtk-2.0' % OSX_FRAMEWORK)
os.environ['PATH'] = '%s/bin:' % OSX_FRAMEWORK + os.environ['PATH']
import logging
consoleloghandler = logging.StreamHandler()
consoleloghandler.setLevel(1)
@ -294,6 +301,9 @@ def pid_alive():
if get_p(pid) in ('python.exe', 'gajim.exe'):
return True
return False
elif sys.platform == 'darwin':
from osx import checkPID
return checkPID(pid, 'gajim')
try:
if not os.path.exists('/proc'):
return True # no /proc, assume Gajim is running
@ -356,6 +366,9 @@ def on_exit():
# delete pid file on normal exit
if os.path.exists(pid_filename):
os.remove(pid_filename)
if sys.platform == 'darwin':
import osx
osx.shutdown()
import atexit
atexit.register(on_exit)
@ -1430,7 +1443,7 @@ class Interface:
# We received a bookmark item from the server (JEP48)
# Auto join GC windows if neccessary
self.roster.actions_menu_needs_rebuild = True
self.roster.set_actions_menu_needs_rebuild()
invisible_show = gajim.SHOW_LIST.index('invisible')
# do not autojoin if we are invisible
if gajim.connections[account].connected == invisible_show:
@ -1793,7 +1806,7 @@ class Interface:
'''SIGNED_IN event is emitted when we sign in, so handle it'''
# block signed in notifications for 30 seconds
gajim.block_signed_in_notifications[account] = True
self.roster.actions_menu_needs_rebuild = True
self.roster.set_actions_menu_needs_rebuild()
if self.sleeper.getState() != common.sleepy.STATE_UNKNOWN and \
gajim.connections[account].connected in (2, 3):
# we go online or free for chat, so we activate auto status
@ -2736,9 +2749,10 @@ class Interface:
self.systray_enabled = False
self.systray_capabilities = False
if os.name == 'nt' and gtk.pygtk_version >= (2, 10, 0) and\
gtk.gtk_version >= (2, 10, 0):
if (((os.name == 'nt') or (sys.platform == 'darwin')) and
(gtk.pygtk_version >= (2, 10, 0)) and
(gtk.gtk_version >= (2, 10, 0))):
import statusicon
self.systray = statusicon.StatusIcon()
self.systray_capabilities = True
@ -2792,7 +2806,7 @@ if __name__ == '__main__':
print >> sys.stderr, "Encodings: d:%s, fs:%s, p:%s" % \
(sys.getdefaultencoding(), sys.getfilesystemencoding(), locale.getpreferredencoding())
if os.name != 'nt':
if ((os.name != 'nt') and (sys.platform != 'darwin')):
# Session Management support
try:
import gnome.ui
@ -2820,5 +2834,9 @@ if __name__ == '__main__':
check_paths.check_and_possibly_create_paths()
if sys.platform == 'darwin':
import osx
osx.init()
Interface()
gtk.main()

View file

@ -1709,7 +1709,7 @@ class GroupchatControl(ChatControlBase):
gajim.connections[self.account].bookmarks.append(bm)
gajim.connections[self.account].store_bookmarks()
gajim.interface.roster.actions_menu_needs_rebuild = True
gajim.interface.roster.set_actions_menu_needs_rebuild()
dialogs.InformationDialog(
_('Bookmark has been added successfully'),

View file

@ -18,6 +18,7 @@
## along with Gajim. If not, see <http://www.gnu.org/licenses/>.
##
import sys
from common import gajim
def device_now_active(self, *args):
@ -34,23 +35,26 @@ def device_no_longer_active(self, *args):
supported = False
try:
from common.dbus_support import system_bus
if sys.platform == 'darwin':
supported = True
else:
try:
from common.dbus_support import system_bus
bus = system_bus.SystemBus()
bus = system_bus.SystemBus()
if 'org.freedesktop.NetworkManager' in bus.list_names():
supported = True
bus.add_signal_receiver(device_no_longer_active,
'DeviceNoLongerActive',
'org.freedesktop.NetworkManager',
'org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager')
if 'org.freedesktop.NetworkManager' in bus.list_names():
supported = True
bus.add_signal_receiver(device_no_longer_active,
'DeviceNoLongerActive',
'org.freedesktop.NetworkManager',
'org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager')
bus.add_signal_receiver(device_now_active,
'DeviceNowActive',
'org.freedesktop.NetworkManager',
'org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager')
except:
pass
bus.add_signal_receiver(device_now_active,
'DeviceNowActive',
'org.freedesktop.NetworkManager',
'org.freedesktop.NetworkManager',
'/org/freedesktop/NetworkManager')
except:
pass

View file

@ -46,6 +46,14 @@ try:
except ImportError:
USER_HAS_PYNOTIFY = False
USER_HAS_GROWL = True
try:
import osx.growler
osx.growler.init()
except:
USER_HAS_GROWL = False
def get_show_in_roster(event, account, contact):
'''Return True if this event must be shown in roster, else False'''
if event == 'gc_message_received':
@ -344,6 +352,11 @@ def popup(event_type, jid, account, msg_type = '', path_to_image = None,
except gobject.GError, e:
# Connection to notification-daemon failed, see #2893
gajim.log.debug(str(e))
# try os/x growl
if USER_HAS_GROWL:
osx.growler.notify(event_type, jid, account, msg_type, path_to_image,
title, text)
return
# go old style
instance = dialogs.PopupNotificationWindow(event_type, jid, account,

View file

@ -0,0 +1 @@
# dummy

1
src/osx/.deps/nsapp.Plo Normal file
View file

@ -0,0 +1 @@
# dummy

761
src/osx/Makefile Normal file
View file

@ -0,0 +1,761 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# src/osx/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
srcdir = .
top_srcdir = ../..
pkgdatadir = $(datadir)/gajim
pkglibdir = $(libdir)/gajim
pkgincludedir = $(includedir)/gajim
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
subdir = src/osx
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(idlelibdir)" "$(DESTDIR)$(nsapplibdir)"
idlelibLTLIBRARIES_INSTALL = $(INSTALL)
nsapplibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idlelib_LTLIBRARIES) $(nsapplib_LTLIBRARIES)
am__DEPENDENCIES_1 =
#idle_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__idle_la_SOURCES_DIST = idle.c
#am_idle_la_OBJECTS = idle_la-idle.lo
idle_la_OBJECTS = $(am_idle_la_OBJECTS)
#am_idle_la_rpath = -rpath $(idlelibdir)
#nsapp_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__nsapp_la_SOURCES_DIST = nsapp.m
#am_nsapp_la_OBJECTS = nsapp.lo
nsapp_la_OBJECTS = $(am_nsapp_la_OBJECTS)
#am_nsapp_la_rpath = -rpath $(nsapplibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
LTOBJCCOMPILE = $(LIBTOOL) --mode=compile $(OBJC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_OBJCFLAGS) $(OBJCFLAGS)
OBJCLD = $(OBJC)
OBJCLINK = $(LIBTOOL) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
$(OBJCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(idle_la_SOURCES) $(nsapp_la_SOURCES)
DIST_SOURCES = $(am__idle_la_SOURCES_DIST) \
$(am__nsapp_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /home/asterix/gajim/missing --run aclocal-1.9
ACLOCAL_AMFLAGS = -I ../m4
ALL_LINGUAS =
AMDEP_FALSE = #
AMDEP_TRUE =
AMTAR = ${SHELL} /home/asterix/gajim/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /home/asterix/gajim/missing --run autoconf
AUTOHEADER = ${SHELL} /home/asterix/gajim/missing --run autoheader
AUTOMAKE = ${SHELL} /home/asterix/gajim/missing --run automake-1.9
AWK = gawk
BUILD_CARBON_FALSE =
BUILD_CARBON_TRUE = #
BUILD_COCOA_FALSE =
BUILD_COCOA_TRUE = #
BUILD_GTKSPELL_FALSE = #
BUILD_GTKSPELL_TRUE =
BUILD_IDLE_FALSE = #
BUILD_IDLE_OSX_FALSE =
BUILD_IDLE_OSX_TRUE = #
BUILD_IDLE_TRUE =
BUILD_REMOTE_CONTROL_FALSE = #
BUILD_REMOTE_CONTROL_TRUE =
BUILD_TRAYICON_FALSE = #
BUILD_TRAYICON_TRUE =
CARBON_LIBS =
CATALOGS =
CATOBJEXT = .gmo
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
COCOA_LIBS =
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DATADIR = /usr/local/share
DATADIRNAME = share
DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
DBUS_LIBS = -ldbus-1
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DOCDIR = /usr/local/share/doc/gajim
ECHO = echo
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
F77 =
FFLAGS =
GETTEXT_PACKAGE = gajim
GMOFILES =
GMSGFMT = /usr/bin/msgfmt
GREP = /bin/grep
GTKSPELL_CFLAGS = -I/usr/include/gtkspell-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12
GTKSPELL_LIBS = -lgtkspell -laspell -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
INSTOBJEXT = .mo
INTLLIBS =
INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_MERGE = $(top_builddir)/intltool-merge
INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@
INTLTOOL_PERL = /usr/bin/perl
INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UPDATE = $(top_builddir)/intltool-update
INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
LDFLAGS =
LIBDIR = /usr/local/lib
LIBOBJS =
LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAINTAINER_MODE_FALSE =
MAINTAINER_MODE_TRUE = #
MAKEINFO = ${SHELL} /home/asterix/gajim/missing --run makeinfo
MKINSTALLDIRS = ./mkinstalldirs
MSGFMT = /usr/bin/msgfmt
MSGFMT_OPTS = -c
OBJEXT = o
PACKAGE = gajim
PACKAGE_BUGREPORT = http://trac.gajim.org/
PACKAGE_NAME = Gajim - A Jabber Instant Messager
PACKAGE_STRING = Gajim - A Jabber Instant Messager 0.11.2.2-svn
PACKAGE_TARNAME = gajim
PACKAGE_VERSION = 0.11.2.2-svn
PATH_SEPARATOR = :
PKG_CONFIG = /usr/bin/pkg-config
POFILES =
POSUB = po
PO_IN_DATADIR_FALSE =
PO_IN_DATADIR_TRUE =
PYGTK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pygtk-2.0
PYGTK_DEFS = /usr/share/pygtk/2.0/defs
PYGTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgmodule-2.0 -ldl -lffi -lgobject-2.0 -lglib-2.0
PYTHON = /usr/bin/python
PYTHON_EXEC_PREFIX = ${exec_prefix}
PYTHON_INCLUDES = -I/usr/include/python2.4
PYTHON_PLATFORM = linux2
PYTHON_PREFIX = ${prefix}
PYTHON_VERSION = 2.4
RANLIB = ranlib
SED = /bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
USE_NLS = yes
VERSION = 0.11.2.2-svn
XGETTEXT = /usr/bin/xgettext
XMKMF =
XSCRNSAVER_CFLAGS =
XSCRNSAVER_LIBS = -lXss
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE =
am__fastdepCXX_FALSE = #
am__fastdepCXX_TRUE =
am__fastdepOBJC_FALSE =
am__fastdepOBJC_TRUE = #
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = /home/asterix/gajim/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = mkdir -p --
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = ${pyexecdir}/gajim
pkgpythondir = ${pythondir}/gajim
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
pyexecdir = ${exec_prefix}/lib/python2.4/site-packages
pythondir = ${prefix}/lib/python2.4/site-packages
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias =
SUBDIRS = growl syncmenu
OBJC = gcc
INCLUDES = \
$(PYTHON_INCLUDES)
#idlelib_LTLIBRARIES = idle.la
#idlelibdir = $(libdir)/gajim
#idle_la_LIBADD = $(CARBON_LIBS)
#idle_la_SOURCES = idle.c
#idle_la_LDFLAGS = \
# -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
#idle_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
#nsapplib_LTLIBRARIES = nsapp.la
#nsapplibdir = $(libdir)/gajim
#nsapp_la_LIBADD = $(COCOA_LIBS)
#nsapp_la_SOURCES = nsapp.m
#nsapp_la_LDFLAGS = \
# -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
#nsapp_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
#AM_OBJCFLAGS = $(nsapp_la_CFLAGS)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .m .o .obj
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-idlelibLTLIBRARIES: $(idlelib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idlelibdir)" || $(mkdir_p) "$(DESTDIR)$(idlelibdir)"
@list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(idlelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idlelibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(idlelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idlelibdir)/$$f"; \
else :; fi; \
done
uninstall-idlelibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(idlelibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(idlelibdir)/$$p"; \
done
clean-idlelibLTLIBRARIES:
-test -z "$(idlelib_LTLIBRARIES)" || rm -f $(idlelib_LTLIBRARIES)
@list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
install-nsapplibLTLIBRARIES: $(nsapplib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(nsapplibdir)" || $(mkdir_p) "$(DESTDIR)$(nsapplibdir)"
@list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(nsapplibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nsapplibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(nsapplibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nsapplibdir)/$$f"; \
else :; fi; \
done
uninstall-nsapplibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(nsapplibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(nsapplibdir)/$$p"; \
done
clean-nsapplibLTLIBRARIES:
-test -z "$(nsapplib_LTLIBRARIES)" || rm -f $(nsapplib_LTLIBRARIES)
@list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
idle.la: $(idle_la_OBJECTS) $(idle_la_DEPENDENCIES)
$(LINK) $(am_idle_la_rpath) $(idle_la_LDFLAGS) $(idle_la_OBJECTS) $(idle_la_LIBADD) $(LIBS)
nsapp.la: $(nsapp_la_OBJECTS) $(nsapp_la_DEPENDENCIES)
$(OBJCLINK) $(am_nsapp_la_rpath) $(nsapp_la_LDFLAGS) $(nsapp_la_OBJECTS) $(nsapp_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/idle_la-idle.Plo
include ./$(DEPDIR)/nsapp.Plo
.c.o:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c $<
.c.obj:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LTCOMPILE) -c -o $@ $<
idle_la-idle.lo: idle.c
if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(idle_la_CFLAGS) $(CFLAGS) -MT idle_la-idle.lo -MD -MP -MF "$(DEPDIR)/idle_la-idle.Tpo" -c -o idle_la-idle.lo `test -f 'idle.c' || echo '$(srcdir)/'`idle.c; \
then mv -f "$(DEPDIR)/idle_la-idle.Tpo" "$(DEPDIR)/idle_la-idle.Plo"; else rm -f "$(DEPDIR)/idle_la-idle.Tpo"; exit 1; fi
# source='idle.c' object='idle_la-idle.lo' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(idle_la_CFLAGS) $(CFLAGS) -c -o idle_la-idle.lo `test -f 'idle.c' || echo '$(srcdir)/'`idle.c
.m.o:
# if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=no \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(OBJCCOMPILE) -c -o $@ $<
.m.obj:
# if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=no \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.m.lo:
# if $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=yes \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(LTOBJCCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(idlelibdir)" "$(DESTDIR)$(nsapplibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
clean-am: clean-generic clean-idlelibLTLIBRARIES clean-libtool \
clean-nsapplibLTLIBRARIES mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-idlelibLTLIBRARIES \
install-nsapplibLTLIBRARIES
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-idlelibLTLIBRARIES uninstall-info-am \
uninstall-nsapplibLTLIBRARIES
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-idlelibLTLIBRARIES clean-libtool \
clean-nsapplibLTLIBRARIES clean-recursive ctags \
ctags-recursive distclean distclean-compile distclean-generic \
distclean-libtool distclean-recursive distclean-tags distdir \
dvi dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-idlelibLTLIBRARIES install-info install-info-am \
install-man install-nsapplibLTLIBRARIES install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-idlelibLTLIBRARIES uninstall-info-am \
uninstall-nsapplibLTLIBRARIES
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

45
src/osx/Makefile.am Normal file
View file

@ -0,0 +1,45 @@
SUBDIRS = growl syncmenu
ACLOCAL_AMFLAGS = -I ../m4
OBJC = gcc
export MACOSX_DEPLOYMENT_TARGET=10.4
INCLUDES = \
$(PYTHON_INCLUDES)
if BUILD_IDLE_OSX
idlelib_LTLIBRARIES = idle.la
idlelibdir = $(libdir)/gajim
idle_la_LIBADD = $(CARBON_LIBS)
idle_la_SOURCES = idle.c
idle_la_LDFLAGS = \
-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
idle_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
endif
if BUILD_COCOA
nsapplib_LTLIBRARIES = nsapp.la
nsapplibdir = $(libdir)/gajim
nsapp_la_LIBADD = $(COCOA_LIBS)
nsapp_la_SOURCES = nsapp.m
nsapp_la_LDFLAGS = \
-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
nsapp_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
AM_OBJCFLAGS = $(nsapp_la_CFLAGS)
endif
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in

761
src/osx/Makefile.in Normal file
View file

@ -0,0 +1,761 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src/osx
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(idlelibdir)" "$(DESTDIR)$(nsapplibdir)"
idlelibLTLIBRARIES_INSTALL = $(INSTALL)
nsapplibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(idlelib_LTLIBRARIES) $(nsapplib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@BUILD_IDLE_OSX_TRUE@idle_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__idle_la_SOURCES_DIST = idle.c
@BUILD_IDLE_OSX_TRUE@am_idle_la_OBJECTS = idle_la-idle.lo
idle_la_OBJECTS = $(am_idle_la_OBJECTS)
@BUILD_IDLE_OSX_TRUE@am_idle_la_rpath = -rpath $(idlelibdir)
@BUILD_COCOA_TRUE@nsapp_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__nsapp_la_SOURCES_DIST = nsapp.m
@BUILD_COCOA_TRUE@am_nsapp_la_OBJECTS = nsapp.lo
nsapp_la_OBJECTS = $(am_nsapp_la_OBJECTS)
@BUILD_COCOA_TRUE@am_nsapp_la_rpath = -rpath $(nsapplibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
LTOBJCCOMPILE = $(LIBTOOL) --mode=compile $(OBJC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_OBJCFLAGS) $(OBJCFLAGS)
OBJCLD = $(OBJC)
OBJCLINK = $(LIBTOOL) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
$(OBJCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(idle_la_SOURCES) $(nsapp_la_SOURCES)
DIST_SOURCES = $(am__idle_la_SOURCES_DIST) \
$(am__nsapp_la_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = -I ../m4
ALL_LINGUAS = @ALL_LINGUAS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CARBON_FALSE = @BUILD_CARBON_FALSE@
BUILD_CARBON_TRUE = @BUILD_CARBON_TRUE@
BUILD_COCOA_FALSE = @BUILD_COCOA_FALSE@
BUILD_COCOA_TRUE = @BUILD_COCOA_TRUE@
BUILD_GTKSPELL_FALSE = @BUILD_GTKSPELL_FALSE@
BUILD_GTKSPELL_TRUE = @BUILD_GTKSPELL_TRUE@
BUILD_IDLE_FALSE = @BUILD_IDLE_FALSE@
BUILD_IDLE_OSX_FALSE = @BUILD_IDLE_OSX_FALSE@
BUILD_IDLE_OSX_TRUE = @BUILD_IDLE_OSX_TRUE@
BUILD_IDLE_TRUE = @BUILD_IDLE_TRUE@
BUILD_REMOTE_CONTROL_FALSE = @BUILD_REMOTE_CONTROL_FALSE@
BUILD_REMOTE_CONTROL_TRUE = @BUILD_REMOTE_CONTROL_TRUE@
BUILD_TRAYICON_FALSE = @BUILD_TRAYICON_FALSE@
BUILD_TRAYICON_TRUE = @BUILD_TRAYICON_TRUE@
CARBON_LIBS = @CARBON_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COCOA_LIBS = @COCOA_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DATADIRNAME = @DATADIRNAME@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DOCDIR = @DOCDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_DEFS = @PYGTK_DEFS@
PYGTK_LIBS = @PYGTK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XSCRNSAVER_CFLAGS = @XSCRNSAVER_CFLAGS@
XSCRNSAVER_LIBS = @XSCRNSAVER_LIBS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = growl syncmenu
OBJC = gcc
INCLUDES = \
$(PYTHON_INCLUDES)
@BUILD_IDLE_OSX_TRUE@idlelib_LTLIBRARIES = idle.la
@BUILD_IDLE_OSX_TRUE@idlelibdir = $(libdir)/gajim
@BUILD_IDLE_OSX_TRUE@idle_la_LIBADD = $(CARBON_LIBS)
@BUILD_IDLE_OSX_TRUE@idle_la_SOURCES = idle.c
@BUILD_IDLE_OSX_TRUE@idle_la_LDFLAGS = \
@BUILD_IDLE_OSX_TRUE@ -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
@BUILD_IDLE_OSX_TRUE@idle_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
@BUILD_COCOA_TRUE@nsapplib_LTLIBRARIES = nsapp.la
@BUILD_COCOA_TRUE@nsapplibdir = $(libdir)/gajim
@BUILD_COCOA_TRUE@nsapp_la_LIBADD = $(COCOA_LIBS)
@BUILD_COCOA_TRUE@nsapp_la_SOURCES = nsapp.m
@BUILD_COCOA_TRUE@nsapp_la_LDFLAGS = \
@BUILD_COCOA_TRUE@ -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
@BUILD_COCOA_TRUE@nsapp_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
@BUILD_COCOA_TRUE@AM_OBJCFLAGS = $(nsapp_la_CFLAGS)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .m .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-idlelibLTLIBRARIES: $(idlelib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(idlelibdir)" || $(mkdir_p) "$(DESTDIR)$(idlelibdir)"
@list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(idlelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(idlelibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(idlelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(idlelibdir)/$$f"; \
else :; fi; \
done
uninstall-idlelibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(idlelibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(idlelibdir)/$$p"; \
done
clean-idlelibLTLIBRARIES:
-test -z "$(idlelib_LTLIBRARIES)" || rm -f $(idlelib_LTLIBRARIES)
@list='$(idlelib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
install-nsapplibLTLIBRARIES: $(nsapplib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(nsapplibdir)" || $(mkdir_p) "$(DESTDIR)$(nsapplibdir)"
@list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(nsapplibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nsapplibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(nsapplibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nsapplibdir)/$$f"; \
else :; fi; \
done
uninstall-nsapplibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(nsapplibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(nsapplibdir)/$$p"; \
done
clean-nsapplibLTLIBRARIES:
-test -z "$(nsapplib_LTLIBRARIES)" || rm -f $(nsapplib_LTLIBRARIES)
@list='$(nsapplib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
idle.la: $(idle_la_OBJECTS) $(idle_la_DEPENDENCIES)
$(LINK) $(am_idle_la_rpath) $(idle_la_LDFLAGS) $(idle_la_OBJECTS) $(idle_la_LIBADD) $(LIBS)
nsapp.la: $(nsapp_la_OBJECTS) $(nsapp_la_DEPENDENCIES)
$(OBJCLINK) $(am_nsapp_la_rpath) $(nsapp_la_LDFLAGS) $(nsapp_la_OBJECTS) $(nsapp_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idle_la-idle.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsapp.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
idle_la-idle.lo: idle.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(idle_la_CFLAGS) $(CFLAGS) -MT idle_la-idle.lo -MD -MP -MF "$(DEPDIR)/idle_la-idle.Tpo" -c -o idle_la-idle.lo `test -f 'idle.c' || echo '$(srcdir)/'`idle.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/idle_la-idle.Tpo" "$(DEPDIR)/idle_la-idle.Plo"; else rm -f "$(DEPDIR)/idle_la-idle.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='idle.c' object='idle_la-idle.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(idle_la_CFLAGS) $(CFLAGS) -c -o idle_la-idle.lo `test -f 'idle.c' || echo '$(srcdir)/'`idle.c
.m.o:
@am__fastdepOBJC_TRUE@ if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ $<
.m.obj:
@am__fastdepOBJC_TRUE@ if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.m.lo:
@am__fastdepOBJC_TRUE@ if $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(LTOBJCCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(idlelibdir)" "$(DESTDIR)$(nsapplibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
clean-am: clean-generic clean-idlelibLTLIBRARIES clean-libtool \
clean-nsapplibLTLIBRARIES mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-idlelibLTLIBRARIES \
install-nsapplibLTLIBRARIES
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-idlelibLTLIBRARIES uninstall-info-am \
uninstall-nsapplibLTLIBRARIES
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-idlelibLTLIBRARIES clean-libtool \
clean-nsapplibLTLIBRARIES clean-recursive ctags \
ctags-recursive distclean distclean-compile distclean-generic \
distclean-libtool distclean-recursive distclean-tags distdir \
dvi dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-idlelibLTLIBRARIES install-info install-info-am \
install-man install-nsapplibLTLIBRARIES install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-idlelibLTLIBRARIES uninstall-info-am \
uninstall-nsapplibLTLIBRARIES
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

45
src/osx/__init__.py Normal file
View file

@ -0,0 +1,45 @@
import sys, commands
from network_manager_listener import device_now_active, device_no_longer_active
import nsapp
if sys.platform != "darwin":
raise ImportError("System platform is not OS/X")
net_device_active = True
###
### Utility functions
###
def checkPID(pid, procname):
out = commands.getstatusoutput("ps -wwp %d" % pid)
arr = out[1].split("\n")
if ((len(arr) == 2) and (arr[1].find(procname) >= 0)):
return True
return False
def init():
nsapp.init()
nsapp.setNetworkCB(netDeviceChanged)
return
def shutdown():
import dbus
dbus.shutdown()
return
def netDeviceChanged():
global net_device_active
if net_device_active:
net_device_active = False
device_no_longer_active(None)
else:
net_device_active = True
device_now_active(None)
return

BIN
src/osx/__init__.pyo Normal file

Binary file not shown.

131
src/osx/dbus.py Normal file
View file

@ -0,0 +1,131 @@
###
### Internal dbus management. This can go away once native gtk+ is in fink or
### macports and we can require their dbus.
###
import os, sys, commands, signal
if sys.platform != "darwin":
raise ImportError("System platform is not OS/X")
import osx, osx.nsapp
from common.configpaths import gajimpaths
_GTK_BASE = "/Library/Frameworks/GTK+.framework/Versions/Current"
def readEnv():
gajimpaths.add_from_root(u'dbus.env', u'dbus.env')
try:
dbus_env = file(gajimpaths[u'dbus.env'], "r")
except:
return False
try:
line1 = dbus_env.readline()
line2 = dbus_env.readline()
dbus_env.close()
except:
print "Invalid dbus.env file"
return False
return parseEnv(line1, line2)
def parseEnv(line1, line2):
try:
if not line1 or not line2:
return False
if (not line1.startswith("DBUS_SESSION_BUS_ADDRESS=") or
not line2.startswith("DBUS_SESSION_BUS_PID=")):
return False
arr = line2.split("=")
pid = arr[1].strip().strip('"')
if not osx.checkPID(int(pid), "dbus-daemon"):
return False
line1 = line1.strip()
loc = line1.find("=")
address = line1[loc + 1:]
address = address.strip().strip('"')
return [address, pid]
except Exception, e:
print "Invalid dbus.env file", e
return False
return None
def setEnv(env):
os.environ['DBUS_SESSION_BUS_ADDRESS'] = env[0]
os.environ['DBUS_SESSION_BUS_PID'] = env[1]
return
def writeEnv(env):
gajimpaths.add_from_root(u'dbus.env', u'dbus.env')
try:
dbus_env = file(gajimpaths[u'dbus.env'], "w+")
dbus_env.write("DBUS_SESSION_BUS_ADDRESS=\"" + env[0] + "\"\n")
dbus_env.write("DBUS_SESSION_BUS_PID=\"" + env[1] + "\"\n")
dbus_env.close()
except Exception, e:
print "Failed to write file: %s" % gajimpaths[u'dbus.env']
print str(e)
return
def checkUUID():
if os.path.exists(_GTK_BASE + "/var/lib/dbus/machine-id"):
return
ret = commands.getstatusoutput(_GTK_BASE + "/bin/dbus-uuidgen --ensure")
if ret[0] != 0:
print "Failed to initialize dbus machine UUID:", ret[1]
return
def load(start):
# Look for existing external session and just use it if it exists
if (('DBUS_SESSION_BUS_ADDRESS' in os.environ) and
('DBUS_SESSION_BUS_PID' in os.environ) and
osx.checkPID(int(os.environ['DBUS_SESSION_BUS_PID']), 'dbus-daemon')):
return True
# Look for our own internal session
env = readEnv()
if env:
# We have a valid existing dbus session, yay
setEnv(env)
return True
# Initialize the machine's UUID if not done yet
checkUUID()
if start:
# None found, start a new session
print "Starting new dbus session"
#cmd = os.path.join(osx.nsapp.getBundlePath(),
# "Contents/Resources/bin/dbus-launch --exit-with-session")
cmd = _GTK_BASE + "/bin/dbus-launch --exit-with-session"
ret = commands.getstatusoutput(cmd)
arr = ret[1].split("\n")
if len(arr) != 2:
print "Failed to start internal dbus session:"
print ret[1]
return
env = parseEnv(arr[0].strip(), arr[1].strip())
if not env:
print "Failed to start internal dbus session:"
print ret[1]
return
setEnv(env)
writeEnv(env)
return True
return False
def shutdown():
env = readEnv()
if not env:
return
os.kill(int(env[1]), signal.SIGINT)
return

View file

@ -0,0 +1 @@
# dummy

View file

@ -0,0 +1 @@
# dummy

247
src/osx/growl/Growl.py Normal file
View file

@ -0,0 +1,247 @@
"""
A Python module that enables posting notifications to the Growl daemon.
See <http://growl.info/> for more information.
"""
__version__ = "0.7"
__author__ = "Mark Rowe <bdash@users.sourceforge.net>"
__copyright__ = "(C) 2003 Mark Rowe <bdash@users.sourceforge.net>. Released under the BSD license."
__contributors__ = ["Ingmar J Stein (Growl Team)",
"Rui Carmo (http://the.taoofmac.com)",
"Jeremy Rossi <jeremy@jeremyrossi.com>"
]
try:
import _growl
except:
_growl = False
import types
import struct
import md5
import socket
GROWL_UDP_PORT=9887
GROWL_PROTOCOL_VERSION=1
GROWL_TYPE_REGISTRATION=0
GROWL_TYPE_NOTIFICATION=1
GROWL_APP_NAME="ApplicationName"
GROWL_APP_ICON="ApplicationIcon"
GROWL_NOTIFICATIONS_DEFAULT="DefaultNotifications"
GROWL_NOTIFICATIONS_ALL="AllNotifications"
GROWL_NOTIFICATIONS_USER_SET="AllowedUserNotifications"
GROWL_NOTIFICATION_NAME="NotificationName"
GROWL_NOTIFICATION_TITLE="NotificationTitle"
GROWL_NOTIFICATION_DESCRIPTION="NotificationDescription"
GROWL_NOTIFICATION_ICON="NotificationIcon"
GROWL_NOTIFICATION_APP_ICON="NotificationAppIcon"
GROWL_NOTIFICATION_PRIORITY="NotificationPriority"
GROWL_NOTIFICATION_STICKY="NotificationSticky"
GROWL_NOTIFICATION_CLICK_CONTEXT="NotificationClickContext"
GROWL_APP_REGISTRATION="GrowlApplicationRegistrationNotification"
GROWL_APP_REGISTRATION_CONF="GrowlApplicationRegistrationConfirmationNotification"
GROWL_NOTIFICATION="GrowlNotification"
GROWL_SHUTDOWN="GrowlShutdown"
GROWL_PING="Honey, Mind Taking Out The Trash"
GROWL_PONG="What Do You Want From Me, Woman"
GROWL_IS_READY="Lend Me Some Sugar; I Am Your Neighbor!"
GROWL_NOTIFICATION_CLICKED="GrowlClicked!"
GROWL_NOTIFICATION_TIMED_OUT="GrowlTimedOut!"
GROWL_KEY_CLICKED_CONTEXT="ClickedContext"
growlPriority = {"Very Low":-2,"Moderate":-1,"Normal":0,"High":1,"Emergency":2}
class netgrowl:
"""Builds a Growl Network Registration packet.
Defaults to emulating the command-line growlnotify utility."""
__notAllowed__ = [GROWL_APP_ICON, GROWL_NOTIFICATION_ICON, GROWL_NOTIFICATION_APP_ICON]
def __init__(self, hostname, password ):
self.hostname = hostname
self.password = password
self.socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
def send(self, data):
self.socket.sendto(data, (self.hostname, GROWL_UDP_PORT))
def PostNotification(self, userInfo):
if userInfo.has_key(GROWL_NOTIFICATION_PRIORITY):
priority = userInfo[GROWL_NOTIFICATION_PRIORITY]
else:
priority = 0
if userInfo.has_key(GROWL_NOTIFICATION_STICKY):
sticky = userInfo[GROWL_NOTIFICATION_STICKY]
else:
priority = False
data = self.encodeNotify(userInfo[GROWL_APP_NAME],
userInfo[GROWL_NOTIFICATION_NAME],
userInfo[GROWL_NOTIFICATION_TITLE],
userInfo[GROWL_NOTIFICATION_DESCRIPTION],
priority,
sticky)
return self.send(data)
def PostRegistration(self, userInfo):
data = self.encodeRegistration(userInfo[GROWL_APP_NAME],
userInfo[GROWL_NOTIFICATIONS_ALL],
userInfo[GROWL_NOTIFICATIONS_DEFAULT])
return self.send(data)
def encodeRegistration(self, application, notifications, defaultNotifications):
data = struct.pack("!BBH",
GROWL_PROTOCOL_VERSION,
GROWL_TYPE_REGISTRATION,
len(application) )
data += struct.pack("BB",
len(notifications),
len(defaultNotifications) )
data += application
for i in notifications:
encoded = i.encode("utf-8")
data += struct.pack("!H", len(encoded))
data += encoded
for i in defaultNotifications:
data += struct.pack("B", i)
return self.encodePassword(data)
def encodeNotify(self, application, notification, title, description,
priority = 0, sticky = False):
application = application.encode("utf-8")
notification = notification.encode("utf-8")
title = title.encode("utf-8")
description = description.encode("utf-8")
flags = (priority & 0x07) * 2
if priority < 0:
flags |= 0x08
if sticky:
flags = flags | 0x0001
data = struct.pack("!BBHHHHH",
GROWL_PROTOCOL_VERSION,
GROWL_TYPE_NOTIFICATION,
flags,
len(notification),
len(title),
len(description),
len(application) )
data += notification
data += title
data += description
data += application
return self.encodePassword(data)
def encodePassword(self, data):
checksum = md5.new()
checksum.update(data)
if self.password:
checksum.update(self.password)
data += checksum.digest()
return data
class _ImageHook(type):
def __getattribute__(self, attr):
global Image
if Image is self:
from _growlImage import Image
return getattr(Image, attr)
class Image(object):
__metaclass__ = _ImageHook
class _RawImage(object):
def __init__(self, data): self.rawImageData = data
class GrowlNotifier(object):
"""
A class that abstracts the process of registering and posting
notifications to the Growl daemon.
You can either pass `applicationName', `notifications',
`defaultNotifications' and `applicationIcon' to the constructor
or you may define them as class-level variables in a sub-class.
`defaultNotifications' is optional, and defaults to the value of
`notifications'. `applicationIcon' is also optional but defaults
to a pointless icon so is better to be specified.
"""
applicationName = 'GrowlNotifier'
notifications = []
defaultNotifications = []
applicationIcon = None
_notifyMethod = _growl
_notify_cb = None
def __init__(self, applicationName=None, notifications=None, defaultNotifications=None, applicationIcon=None, hostname=None, password=None, notify_cb=None):
assert(applicationName is not None, 'an application name is required')
self.applicationName = applicationName
assert(notifications, 'a sequence of one or more notification names is required')
self.notifications = list(notifications)
if defaultNotifications is not None:
self.defaultNotifications = list(defaultNotifications)
else:
self.defaultNotifications = list(self.notifications)
if applicationIcon is not None:
self.applicationIcon = self._checkIcon(applicationIcon)
if hostname is not None and password is not None:
self._notifyMethod = netgrowl(hostname, password)
elif hostname is not None or password is not None:
raise KeyError, "Hostname and Password are both required for a network notification"
if notify_cb is not None:
self._notify_cb = notify_cb
else:
self._notify_cb = self.notifyCB
if hostname is None and password is None:
self._notifyMethod.Init(applicationName, self._notify_cb)
def _checkIcon(self, data):
if isinstance(data, str):
return _RawImage(data)
else:
return data
def register(self):
if self.applicationIcon is not None:
self.applicationIcon = self._checkIcon(self.applicationIcon)
regInfo = {GROWL_APP_NAME: self.applicationName,
GROWL_NOTIFICATIONS_ALL: self.notifications,
GROWL_NOTIFICATIONS_DEFAULT: self.defaultNotifications,
GROWL_APP_ICON:self.applicationIcon,
}
self._notifyMethod.PostRegistration(regInfo)
def notify(self, noteType, title, description, icon=None, sticky=False, priority=None, context=None):
assert noteType in self.notifications
notifyInfo = {GROWL_NOTIFICATION_NAME: noteType,
GROWL_APP_NAME: self.applicationName,
GROWL_NOTIFICATION_TITLE: title,
GROWL_NOTIFICATION_DESCRIPTION: description,
}
if sticky:
notifyInfo[GROWL_NOTIFICATION_STICKY] = 1
if priority is not None:
notifyInfo[GROWL_NOTIFICATION_PRIORITY] = priority
if icon:
notifyInfo[GROWL_NOTIFICATION_ICON] = self._checkIcon(icon)
if context:
notifyInfo[GROWL_NOTIFICATION_CLICK_CONTEXT] = context
self._notifyMethod.PostNotification(notifyInfo)
def notifyCB(self, userdata):
print "Got notify in pyland", userdata

651
src/osx/growl/Makefile Normal file
View file

@ -0,0 +1,651 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# src/osx/growl/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
srcdir = .
top_srcdir = ../../..
pkgdatadir = $(datadir)/gajim
pkglibdir = $(libdir)/gajim
pkgincludedir = $(includedir)/gajim
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
subdir = src/osx/growl
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(_growlImagelibdir)" \
"$(DESTDIR)$(_growllibdir)"
_growlImagelibLTLIBRARIES_INSTALL = $(INSTALL)
_growllibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(_growlImagelib_LTLIBRARIES) $(_growllib_LTLIBRARIES)
am__DEPENDENCIES_1 =
#_growl_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am___growl_la_SOURCES_DIST = _growl.c
#am__growl_la_OBJECTS = _growl_la-_growl.lo
_growl_la_OBJECTS = $(am__growl_la_OBJECTS)
#am__growl_la_rpath = -rpath $(_growllibdir)
#_growlImage_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am___growlImage_la_SOURCES_DIST = _growlImage.m
#am__growlImage_la_OBJECTS = _growlImage.lo
_growlImage_la_OBJECTS = $(am__growlImage_la_OBJECTS)
#am__growlImage_la_rpath = -rpath \
# $(_growlImagelibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
LTOBJCCOMPILE = $(LIBTOOL) --mode=compile $(OBJC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_OBJCFLAGS) $(OBJCFLAGS)
OBJCLD = $(OBJC)
OBJCLINK = $(LIBTOOL) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
$(OBJCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(_growl_la_SOURCES) $(_growlImage_la_SOURCES)
DIST_SOURCES = $(am___growl_la_SOURCES_DIST) \
$(am___growlImage_la_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /home/asterix/gajim/missing --run aclocal-1.9
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
ALL_LINGUAS =
AMDEP_FALSE = #
AMDEP_TRUE =
AMTAR = ${SHELL} /home/asterix/gajim/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /home/asterix/gajim/missing --run autoconf
AUTOHEADER = ${SHELL} /home/asterix/gajim/missing --run autoheader
AUTOMAKE = ${SHELL} /home/asterix/gajim/missing --run automake-1.9
AWK = gawk
BUILD_CARBON_FALSE =
BUILD_CARBON_TRUE = #
BUILD_COCOA_FALSE =
BUILD_COCOA_TRUE = #
BUILD_GTKSPELL_FALSE = #
BUILD_GTKSPELL_TRUE =
BUILD_IDLE_FALSE = #
BUILD_IDLE_OSX_FALSE =
BUILD_IDLE_OSX_TRUE = #
BUILD_IDLE_TRUE =
BUILD_REMOTE_CONTROL_FALSE = #
BUILD_REMOTE_CONTROL_TRUE =
BUILD_TRAYICON_FALSE = #
BUILD_TRAYICON_TRUE =
CARBON_LIBS =
CATALOGS =
CATOBJEXT = .gmo
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
COCOA_LIBS =
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DATADIR = /usr/local/share
DATADIRNAME = share
DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
DBUS_LIBS = -ldbus-1
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DOCDIR = /usr/local/share/doc/gajim
ECHO = echo
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
F77 =
FFLAGS =
GETTEXT_PACKAGE = gajim
GMOFILES =
GMSGFMT = /usr/bin/msgfmt
GREP = /bin/grep
GTKSPELL_CFLAGS = -I/usr/include/gtkspell-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12
GTKSPELL_LIBS = -lgtkspell -laspell -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
INSTOBJEXT = .mo
INTLLIBS =
INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_MERGE = $(top_builddir)/intltool-merge
INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@
INTLTOOL_PERL = /usr/bin/perl
INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UPDATE = $(top_builddir)/intltool-update
INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
LDFLAGS =
LIBDIR = /usr/local/lib
LIBOBJS =
LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAINTAINER_MODE_FALSE =
MAINTAINER_MODE_TRUE = #
MAKEINFO = ${SHELL} /home/asterix/gajim/missing --run makeinfo
MKINSTALLDIRS = ./mkinstalldirs
MSGFMT = /usr/bin/msgfmt
MSGFMT_OPTS = -c
OBJEXT = o
PACKAGE = gajim
PACKAGE_BUGREPORT = http://trac.gajim.org/
PACKAGE_NAME = Gajim - A Jabber Instant Messager
PACKAGE_STRING = Gajim - A Jabber Instant Messager 0.11.2.2-svn
PACKAGE_TARNAME = gajim
PACKAGE_VERSION = 0.11.2.2-svn
PATH_SEPARATOR = :
PKG_CONFIG = /usr/bin/pkg-config
POFILES =
POSUB = po
PO_IN_DATADIR_FALSE =
PO_IN_DATADIR_TRUE =
PYGTK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pygtk-2.0
PYGTK_DEFS = /usr/share/pygtk/2.0/defs
PYGTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgmodule-2.0 -ldl -lffi -lgobject-2.0 -lglib-2.0
PYTHON = /usr/bin/python
PYTHON_EXEC_PREFIX = ${exec_prefix}
PYTHON_INCLUDES = -I/usr/include/python2.4
PYTHON_PLATFORM = linux2
PYTHON_PREFIX = ${prefix}
PYTHON_VERSION = 2.4
RANLIB = ranlib
SED = /bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
USE_NLS = yes
VERSION = 0.11.2.2-svn
XGETTEXT = /usr/bin/xgettext
XMKMF =
XSCRNSAVER_CFLAGS =
XSCRNSAVER_LIBS = -lXss
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE =
am__fastdepCXX_FALSE = #
am__fastdepCXX_TRUE =
am__fastdepOBJC_FALSE =
am__fastdepOBJC_TRUE = #
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = /home/asterix/gajim/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = mkdir -p --
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = ${pyexecdir}/gajim
pkgpythondir = ${pythondir}/gajim
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
pyexecdir = ${exec_prefix}/lib/python2.4/site-packages
pythondir = ${prefix}/lib/python2.4/site-packages
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias =
OBJC = gcc
INCLUDES = \
$(PYTHON_INCLUDES)
#_growllib_LTLIBRARIES = _growl.la
#_growllibdir = $(libdir)/gajim
#_growl_la_LIBADD = $(CARBON_LIBS)
#_growl_la_SOURCES = _growl.c
#_growl_la_LDFLAGS = \
# -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
#_growl_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
#_growlImagelib_LTLIBRARIES = _growlImage.la
#_growlImagelibdir = $(libdir)/gajim
#_growlImage_la_LIBADD = $(COCOA_LIBS)
#_growlImage_la_SOURCES = _growlImage.m
#_growlImage_la_LDFLAGS = \
# -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
#_growlImage_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
#AM_OBJCFLAGS = $(_growlImage_la_CFLAGS)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .m .o .obj
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/growl/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/growl/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-_growlImagelibLTLIBRARIES: $(_growlImagelib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(_growlImagelibdir)" || $(mkdir_p) "$(DESTDIR)$(_growlImagelibdir)"
@list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(_growlImagelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(_growlImagelibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(_growlImagelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(_growlImagelibdir)/$$f"; \
else :; fi; \
done
uninstall-_growlImagelibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(_growlImagelibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(_growlImagelibdir)/$$p"; \
done
clean-_growlImagelibLTLIBRARIES:
-test -z "$(_growlImagelib_LTLIBRARIES)" || rm -f $(_growlImagelib_LTLIBRARIES)
@list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
install-_growllibLTLIBRARIES: $(_growllib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(_growllibdir)" || $(mkdir_p) "$(DESTDIR)$(_growllibdir)"
@list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(_growllibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(_growllibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(_growllibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(_growllibdir)/$$f"; \
else :; fi; \
done
uninstall-_growllibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(_growllibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(_growllibdir)/$$p"; \
done
clean-_growllibLTLIBRARIES:
-test -z "$(_growllib_LTLIBRARIES)" || rm -f $(_growllib_LTLIBRARIES)
@list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
_growl.la: $(_growl_la_OBJECTS) $(_growl_la_DEPENDENCIES)
$(LINK) $(am__growl_la_rpath) $(_growl_la_LDFLAGS) $(_growl_la_OBJECTS) $(_growl_la_LIBADD) $(LIBS)
_growlImage.la: $(_growlImage_la_OBJECTS) $(_growlImage_la_DEPENDENCIES)
$(OBJCLINK) $(am__growlImage_la_rpath) $(_growlImage_la_LDFLAGS) $(_growlImage_la_OBJECTS) $(_growlImage_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/_growlImage.Plo
include ./$(DEPDIR)/_growl_la-_growl.Plo
.c.o:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c $<
.c.obj:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LTCOMPILE) -c -o $@ $<
_growl_la-_growl.lo: _growl.c
if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(_growl_la_CFLAGS) $(CFLAGS) -MT _growl_la-_growl.lo -MD -MP -MF "$(DEPDIR)/_growl_la-_growl.Tpo" -c -o _growl_la-_growl.lo `test -f '_growl.c' || echo '$(srcdir)/'`_growl.c; \
then mv -f "$(DEPDIR)/_growl_la-_growl.Tpo" "$(DEPDIR)/_growl_la-_growl.Plo"; else rm -f "$(DEPDIR)/_growl_la-_growl.Tpo"; exit 1; fi
# source='_growl.c' object='_growl_la-_growl.lo' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(_growl_la_CFLAGS) $(CFLAGS) -c -o _growl_la-_growl.lo `test -f '_growl.c' || echo '$(srcdir)/'`_growl.c
.m.o:
# if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=no \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(OBJCCOMPILE) -c -o $@ $<
.m.obj:
# if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=no \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.m.lo:
# if $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
source='$<' object='$@' libtool=yes \
DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) \
$(LTOBJCCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
for dir in "$(DESTDIR)$(_growlImagelibdir)" "$(DESTDIR)$(_growllibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-_growlImagelibLTLIBRARIES clean-_growllibLTLIBRARIES \
clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-_growlImagelibLTLIBRARIES \
install-_growllibLTLIBRARIES
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-_growlImagelibLTLIBRARIES \
uninstall-_growllibLTLIBRARIES uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-_growlImagelibLTLIBRARIES clean-_growllibLTLIBRARIES \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install \
install-_growlImagelibLTLIBRARIES install-_growllibLTLIBRARIES \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall \
uninstall-_growlImagelibLTLIBRARIES \
uninstall-_growllibLTLIBRARIES uninstall-am uninstall-info-am
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

41
src/osx/growl/Makefile.am Normal file
View file

@ -0,0 +1,41 @@
OBJC = gcc
export MACOSX_DEPLOYMENT_TARGET=10.4
INCLUDES = \
$(PYTHON_INCLUDES)
if BUILD_CARBON
_growllib_LTLIBRARIES = _growl.la
_growllibdir = $(libdir)/gajim
_growl_la_LIBADD = $(CARBON_LIBS)
_growl_la_SOURCES = _growl.c
_growl_la_LDFLAGS = \
-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
_growl_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
endif
if BUILD_COCOA
_growlImagelib_LTLIBRARIES = _growlImage.la
_growlImagelibdir = $(libdir)/gajim
_growlImage_la_LIBADD = $(COCOA_LIBS)
_growlImage_la_SOURCES = _growlImage.m
_growlImage_la_LDFLAGS = \
-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
_growlImage_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
AM_OBJCFLAGS = $(_growlImage_la_CFLAGS)
endif
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in

651
src/osx/growl/Makefile.in Normal file
View file

@ -0,0 +1,651 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src/osx/growl
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(_growlImagelibdir)" \
"$(DESTDIR)$(_growllibdir)"
_growlImagelibLTLIBRARIES_INSTALL = $(INSTALL)
_growllibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(_growlImagelib_LTLIBRARIES) $(_growllib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@BUILD_CARBON_TRUE@_growl_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am___growl_la_SOURCES_DIST = _growl.c
@BUILD_CARBON_TRUE@am__growl_la_OBJECTS = _growl_la-_growl.lo
_growl_la_OBJECTS = $(am__growl_la_OBJECTS)
@BUILD_CARBON_TRUE@am__growl_la_rpath = -rpath $(_growllibdir)
@BUILD_COCOA_TRUE@_growlImage_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am___growlImage_la_SOURCES_DIST = _growlImage.m
@BUILD_COCOA_TRUE@am__growlImage_la_OBJECTS = _growlImage.lo
_growlImage_la_OBJECTS = $(am__growlImage_la_OBJECTS)
@BUILD_COCOA_TRUE@am__growlImage_la_rpath = -rpath \
@BUILD_COCOA_TRUE@ $(_growlImagelibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
LTOBJCCOMPILE = $(LIBTOOL) --mode=compile $(OBJC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_OBJCFLAGS) $(OBJCFLAGS)
OBJCLD = $(OBJC)
OBJCLINK = $(LIBTOOL) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
$(OBJCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(_growl_la_SOURCES) $(_growlImage_la_SOURCES)
DIST_SOURCES = $(am___growl_la_SOURCES_DIST) \
$(am___growlImage_la_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
ALL_LINGUAS = @ALL_LINGUAS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CARBON_FALSE = @BUILD_CARBON_FALSE@
BUILD_CARBON_TRUE = @BUILD_CARBON_TRUE@
BUILD_COCOA_FALSE = @BUILD_COCOA_FALSE@
BUILD_COCOA_TRUE = @BUILD_COCOA_TRUE@
BUILD_GTKSPELL_FALSE = @BUILD_GTKSPELL_FALSE@
BUILD_GTKSPELL_TRUE = @BUILD_GTKSPELL_TRUE@
BUILD_IDLE_FALSE = @BUILD_IDLE_FALSE@
BUILD_IDLE_OSX_FALSE = @BUILD_IDLE_OSX_FALSE@
BUILD_IDLE_OSX_TRUE = @BUILD_IDLE_OSX_TRUE@
BUILD_IDLE_TRUE = @BUILD_IDLE_TRUE@
BUILD_REMOTE_CONTROL_FALSE = @BUILD_REMOTE_CONTROL_FALSE@
BUILD_REMOTE_CONTROL_TRUE = @BUILD_REMOTE_CONTROL_TRUE@
BUILD_TRAYICON_FALSE = @BUILD_TRAYICON_FALSE@
BUILD_TRAYICON_TRUE = @BUILD_TRAYICON_TRUE@
CARBON_LIBS = @CARBON_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COCOA_LIBS = @COCOA_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DATADIRNAME = @DATADIRNAME@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DOCDIR = @DOCDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_DEFS = @PYGTK_DEFS@
PYGTK_LIBS = @PYGTK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XSCRNSAVER_CFLAGS = @XSCRNSAVER_CFLAGS@
XSCRNSAVER_LIBS = @XSCRNSAVER_LIBS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
OBJC = gcc
INCLUDES = \
$(PYTHON_INCLUDES)
@BUILD_CARBON_TRUE@_growllib_LTLIBRARIES = _growl.la
@BUILD_CARBON_TRUE@_growllibdir = $(libdir)/gajim
@BUILD_CARBON_TRUE@_growl_la_LIBADD = $(CARBON_LIBS)
@BUILD_CARBON_TRUE@_growl_la_SOURCES = _growl.c
@BUILD_CARBON_TRUE@_growl_la_LDFLAGS = \
@BUILD_CARBON_TRUE@ -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
@BUILD_CARBON_TRUE@_growl_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
@BUILD_COCOA_TRUE@_growlImagelib_LTLIBRARIES = _growlImage.la
@BUILD_COCOA_TRUE@_growlImagelibdir = $(libdir)/gajim
@BUILD_COCOA_TRUE@_growlImage_la_LIBADD = $(COCOA_LIBS)
@BUILD_COCOA_TRUE@_growlImage_la_SOURCES = _growlImage.m
@BUILD_COCOA_TRUE@_growlImage_la_LDFLAGS = \
@BUILD_COCOA_TRUE@ -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
@BUILD_COCOA_TRUE@_growlImage_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
@BUILD_COCOA_TRUE@AM_OBJCFLAGS = $(_growlImage_la_CFLAGS)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .m .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/growl/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/growl/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-_growlImagelibLTLIBRARIES: $(_growlImagelib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(_growlImagelibdir)" || $(mkdir_p) "$(DESTDIR)$(_growlImagelibdir)"
@list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(_growlImagelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(_growlImagelibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(_growlImagelibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(_growlImagelibdir)/$$f"; \
else :; fi; \
done
uninstall-_growlImagelibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(_growlImagelibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(_growlImagelibdir)/$$p"; \
done
clean-_growlImagelibLTLIBRARIES:
-test -z "$(_growlImagelib_LTLIBRARIES)" || rm -f $(_growlImagelib_LTLIBRARIES)
@list='$(_growlImagelib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
install-_growllibLTLIBRARIES: $(_growllib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(_growllibdir)" || $(mkdir_p) "$(DESTDIR)$(_growllibdir)"
@list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(_growllibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(_growllibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(_growllibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(_growllibdir)/$$f"; \
else :; fi; \
done
uninstall-_growllibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(_growllibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(_growllibdir)/$$p"; \
done
clean-_growllibLTLIBRARIES:
-test -z "$(_growllib_LTLIBRARIES)" || rm -f $(_growllib_LTLIBRARIES)
@list='$(_growllib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
_growl.la: $(_growl_la_OBJECTS) $(_growl_la_DEPENDENCIES)
$(LINK) $(am__growl_la_rpath) $(_growl_la_LDFLAGS) $(_growl_la_OBJECTS) $(_growl_la_LIBADD) $(LIBS)
_growlImage.la: $(_growlImage_la_OBJECTS) $(_growlImage_la_DEPENDENCIES)
$(OBJCLINK) $(am__growlImage_la_rpath) $(_growlImage_la_LDFLAGS) $(_growlImage_la_OBJECTS) $(_growlImage_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_growlImage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_growl_la-_growl.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
_growl_la-_growl.lo: _growl.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(_growl_la_CFLAGS) $(CFLAGS) -MT _growl_la-_growl.lo -MD -MP -MF "$(DEPDIR)/_growl_la-_growl.Tpo" -c -o _growl_la-_growl.lo `test -f '_growl.c' || echo '$(srcdir)/'`_growl.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/_growl_la-_growl.Tpo" "$(DEPDIR)/_growl_la-_growl.Plo"; else rm -f "$(DEPDIR)/_growl_la-_growl.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='_growl.c' object='_growl_la-_growl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(_growl_la_CFLAGS) $(CFLAGS) -c -o _growl_la-_growl.lo `test -f '_growl.c' || echo '$(srcdir)/'`_growl.c
.m.o:
@am__fastdepOBJC_TRUE@ if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ $<
.m.obj:
@am__fastdepOBJC_TRUE@ if $(OBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.m.lo:
@am__fastdepOBJC_TRUE@ if $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepOBJC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@ $(LTOBJCCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
for dir in "$(DESTDIR)$(_growlImagelibdir)" "$(DESTDIR)$(_growllibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-_growlImagelibLTLIBRARIES clean-_growllibLTLIBRARIES \
clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-_growlImagelibLTLIBRARIES \
install-_growllibLTLIBRARIES
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-_growlImagelibLTLIBRARIES \
uninstall-_growllibLTLIBRARIES uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean \
clean-_growlImagelibLTLIBRARIES clean-_growllibLTLIBRARIES \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install \
install-_growlImagelibLTLIBRARIES install-_growllibLTLIBRARIES \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall \
uninstall-_growlImagelibLTLIBRARIES \
uninstall-_growllibLTLIBRARIES uninstall-am uninstall-info-am
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

239
src/osx/growl/_growl.c Normal file
View file

@ -0,0 +1,239 @@
/*
* Copyright 2004-2005 The Growl Project.
* Created by Jeremy Rossi <jeremy@jeremyrossi.com>
* Released under the BSD license.
*/
#include <Python.h>
#include <CoreFoundation/CoreFoundation.h>
#define str(cfstr) CFStringGetCStringPtr(cfstr, kCFStringEncodingMacRoman)
#define cfstr(str) CFStringCreateWithCString(kCFAllocatorDefault, str, kCFStringEncodingMacRoman)
static PyObject * _notify_cb = NULL;
static PyObject * growl_PostDictionary(CFStringRef name, PyObject *self, PyObject *args) {
int i, j;
PyObject *inputDict;
PyObject *pKeys = NULL;
PyObject *pKey, *pValue;
CFMutableDictionaryRef note = CFDictionaryCreateMutable(kCFAllocatorDefault,
/*capacity*/ 0,
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &inputDict))
goto error;
pKeys = PyDict_Keys(inputDict);
for (i = 0; i < PyList_Size(pKeys); ++i) {
CFStringRef convertedKey;
/* Converting the PyDict key to NSString and used for key in note */
pKey = PyList_GetItem(pKeys, i);
if (!pKey)
// Exception already set
goto error;
pValue = PyDict_GetItem(inputDict, pKey);
if (!pValue) {
// XXX Neeed a real Error message here.
PyErr_SetString(PyExc_TypeError," ");
goto error;
}
if (PyUnicode_Check(pKey)) {
convertedKey = CFStringCreateWithBytes(kCFAllocatorDefault,
(const UInt8 *)PyUnicode_AS_DATA(pKey),
PyUnicode_GET_DATA_SIZE(pKey),
kCFStringEncodingUnicode,
false);
} else if (PyString_Check(pKey)) {
convertedKey = CFStringCreateWithCString(kCFAllocatorDefault,
PyString_AsString(pKey),
kCFStringEncodingUTF8);
} else {
PyErr_SetString(PyExc_TypeError,"The Dict keys must be strings/unicode");
goto error;
}
/* Converting the PyDict value to NSString or NSData based on class */
if (PyString_Check(pValue)) {
CFStringRef convertedValue = CFStringCreateWithCString(kCFAllocatorDefault,
PyString_AS_STRING(pValue),
kCFStringEncodingUTF8);
CFDictionarySetValue(note, convertedKey, convertedValue);
CFRelease(convertedValue);
} else if (PyUnicode_Check(pValue)) {
CFStringRef convertedValue = CFStringCreateWithBytes(kCFAllocatorDefault,
(const UInt8 *)PyUnicode_AS_DATA(pValue),
PyUnicode_GET_DATA_SIZE(pValue),
kCFStringEncodingUnicode,
false);
CFDictionarySetValue(note, convertedKey, convertedValue);
CFRelease(convertedValue);
} else if (PyInt_Check(pValue)) {
long v = PyInt_AS_LONG(pValue);
CFNumberRef convertedValue = CFNumberCreate(kCFAllocatorDefault,
kCFNumberLongType,
&v);
CFDictionarySetValue(note, convertedKey, convertedValue);
CFRelease(convertedValue);
} else if (pValue == Py_None) {
CFDataRef convertedValue = CFDataCreate(kCFAllocatorDefault, NULL, 0);
CFDictionarySetValue(note, convertedKey, convertedValue);
CFRelease(convertedValue);
} else if (PyList_Check(pValue)) {
int size = PyList_Size(pValue);
CFMutableArrayRef listHolder = CFArrayCreateMutable(kCFAllocatorDefault,
size,
&kCFTypeArrayCallBacks);
for (j = 0; j < size; ++j) {
PyObject *lValue = PyList_GetItem(pValue, j);
if (PyString_Check(lValue)) {
CFStringRef convertedValue = CFStringCreateWithCString(kCFAllocatorDefault,
PyString_AS_STRING(lValue),
kCFStringEncodingUTF8);
CFArrayAppendValue(listHolder, convertedValue);
CFRelease(convertedValue);
} else if (PyUnicode_Check(lValue)) {
CFStringRef convertedValue = CFStringCreateWithBytes(kCFAllocatorDefault,
(const UInt8 *)PyUnicode_AS_DATA(lValue),
PyUnicode_GET_DATA_SIZE(lValue),
kCFStringEncodingUnicode,
false);
CFArrayAppendValue(listHolder, convertedValue);
CFRelease(convertedValue);
} else {
CFRelease(convertedKey);
PyErr_SetString(PyExc_TypeError,"The lists must only contain strings");
goto error;
}
}
CFDictionarySetValue(note, convertedKey, listHolder);
CFRelease(listHolder);
} else if (PyObject_HasAttrString(pValue, "rawImageData")) {
PyObject *lValue = PyObject_GetAttrString(pValue, "rawImageData");
if (!lValue) {
goto error;
} else if (PyString_Check(lValue)) {
CFDataRef convertedValue = CFDataCreate(kCFAllocatorDefault,
(const UInt8 *)PyString_AsString(lValue),
PyString_Size(lValue));
CFDictionarySetValue(note, convertedKey, convertedValue);
CFRelease(convertedValue);
} else {
CFRelease(convertedKey);
PyErr_SetString(PyExc_TypeError, "Icon with rawImageData attribute present must ensure it is a string.");
goto error;
}
} else {
CFRelease(convertedKey);
PyErr_SetString(PyExc_TypeError, "Value is not of Str/List");
goto error;
}
CFRelease(convertedKey);
}
Py_BEGIN_ALLOW_THREADS
CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(),
/*name*/ name,
/*object*/ NULL,
/*userInfo*/ note,
/*deliverImmediately*/ false);
CFRelease(note);
Py_END_ALLOW_THREADS
Py_DECREF(pKeys);
Py_INCREF(Py_None);
return Py_None;
error:
CFRelease(note);
Py_XDECREF(pKeys);
return NULL;
}
static void growl_NotifyCB(CFNotificationCenterRef center, void *observer,
CFStringRef name, const void *object,
CFDictionaryRef userInfo)
{
CFIndex size, len;
const void * keys[1];
const void * values[1];
CFArrayRef arr;
CFStringRef cfstr;
CFRange cfrange;
UInt8 *buff;
int i;
PyObject * pylist;
cfrange.location = 0;
CFDictionaryGetKeysAndValues(userInfo, keys, values);
arr = (CFArrayRef)values[0];
size = CFArrayGetCount(arr);
pylist = PyList_New(size);
for (i=0; i < size; ++i)
{
cfstr = (CFStringRef)CFArrayGetValueAtIndex(arr, i);
cfrange.length = CFStringGetLength(cfstr);
CFStringGetBytes(cfstr, cfrange, kCFStringEncodingUnicode, 0, false,
NULL, 0, &len);
buff = (UInt8*)malloc(len);
CFStringGetBytes(cfstr, cfrange, kCFStringEncodingUnicode, 0, false,
buff, len, &len);
PyList_SetItem(pylist, i,
PyUnicode_DecodeUTF16((char*)buff, len, NULL, NULL));
free(buff);
}
PyObject_CallObject(_notify_cb, Py_BuildValue("(O)", pylist));
Py_DECREF(pylist);
}
static PyObject * growl_Init(PyObject *self, PyObject *args)
{
char* name = NULL;
if (!PyArg_ParseTuple(args, "sO", &name, &_notify_cb))
return NULL;
Py_INCREF(_notify_cb);
char* buff = (char*)malloc(strlen(name) + 14);
strcpy(buff, name);
strcat(buff, "GrowlClicked!");
CFStringRef cfbuff = cfstr(buff);
CFNotificationCenterAddObserver(
CFNotificationCenterGetDistributedCenter(), NULL, &growl_NotifyCB,
cfbuff, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
free(buff);
CFRelease(cfbuff);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject * growl_PostRegistration(PyObject *self, PyObject *args) {
return growl_PostDictionary(CFSTR("GrowlApplicationRegistrationNotification"), self, args);
}
static PyObject * growl_PostNotification(PyObject *self, PyObject *args) {
return growl_PostDictionary(CFSTR("GrowlNotification"), self, args);
}
static PyMethodDef GrowlMethods[] = {
{"Init", growl_Init, METH_VARARGS, "Initialize notifications with GrowlHelperApp"},
{"PostNotification", growl_PostNotification, METH_VARARGS, "Send a notification to GrowlHelperApp"},
{"PostRegistration", growl_PostRegistration, METH_VARARGS, "Send a registration to GrowlHelperApp"},
{NULL, NULL, 0, NULL} /* Sentinel */
};
PyMODINIT_FUNC init_growl(void) {
Py_InitModule("_growl", GrowlMethods);
}

274
src/osx/growl/_growlImage.m Normal file
View file

@ -0,0 +1,274 @@
/*
* Copyright 2004 Mark Rowe <bdash@users.sourceforge.net>
* Released under the BSD license.
*/
#include "Python.h"
#import <Cocoa/Cocoa.h>
typedef struct
{
PyObject_HEAD
NSImage *theImage;
} ImageObject;
static PyTypeObject ImageObject_Type;
#define ImageObject_Check(v) ((v)->ob_type == &ImageObject_Type)
static ImageObject *
newImageObject(NSImage *img)
{
ImageObject *self;
if (! img)
{
PyErr_SetString(PyExc_TypeError, "Invalid image.");
return NULL;
}
self = PyObject_New(ImageObject, &ImageObject_Type);
if (! self)
return NULL;
self->theImage = [img retain];
return self;
}
static void
ImageObject_dealloc(ImageObject *self)
{
PyObject_Del(self);
}
static PyObject *
ImageObject_getAttr(PyObject *self, PyObject *attr)
{
char *theAttr = PyString_AsString(attr);
NSAutoreleasePool *pool = nil;
if (strcmp(theAttr, "rawImageData") == 0)
{
pool = [[NSAutoreleasePool alloc] init];
NSData *imageData = [((ImageObject *) self)->theImage TIFFRepresentation];
PyObject *pyImageData = PyString_FromStringAndSize([imageData bytes], [imageData length]);
[pool release];
return pyImageData;
}
else
return PyObject_GenericGetAttr(self, attr);
}
static PyObject *
ImageObject_imageFromPath(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
char *fileName_ = NULL;
NSString *fileName = nil;
NSImage *theImage = nil;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, "et:imageFromPath",
Py_FileSystemDefaultEncoding, &fileName_))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
fileName = [NSString stringWithUTF8String:fileName_];
theImage = [[[NSImage alloc] initWithContentsOfFile:fileName] autorelease];
self = newImageObject(theImage);
[pool release];
return (PyObject *) self;
}
static PyObject *
ImageObject_imageWithData(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
char *imageData = NULL;
int imageDataSize = 0;
NSImage *theImage = nil;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, "s#:imageWithData",
&imageData, &imageDataSize))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
theImage = [[[NSImage alloc] initWithData:[NSData dataWithBytes:imageData
length:imageDataSize]] autorelease];
self = newImageObject(theImage);
[pool release];
return (PyObject *) self;
}
static PyObject *
ImageObject_imageWithIconForFile(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
char *fileName_ = NULL;
NSString *fileName = nil;
NSImage *theImage = nil;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, "et:imageWithIconForFile",
Py_FileSystemDefaultEncoding, &fileName_))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
fileName = [NSString stringWithUTF8String:fileName_];
theImage = [[NSWorkspace sharedWorkspace] iconForFile:fileName];
self = newImageObject(theImage);
[pool release];
return (PyObject *) self;
}
static PyObject *
ImageObject_imageWithIconForFileType(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
char *fileType = NULL;
NSImage *theImage = nil;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, "s:imageWithIconForFileType",
&fileType))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
theImage = [[NSWorkspace sharedWorkspace] iconForFileType:[NSString stringWithUTF8String:fileType]];
self = newImageObject(theImage);
[pool release];
return (PyObject *) self;
}
static PyObject *
ImageObject_imageWithIconForCurrentApplication(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, ":imageWithIconForCurrentApplication"))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
self = newImageObject([NSApp applicationIconImage]);
[pool release];
return (PyObject *) self;
}
static PyObject *
ImageObject_imageWithIconForApplication(PyTypeObject *cls, PyObject *args)
{
ImageObject *self;
char *appName_ = NULL;
NSString *appName = nil;
NSString *appPath = nil;
NSImage *theImage = nil;
NSAutoreleasePool *pool = nil;
if (! PyArg_ParseTuple(args, "et:imageWithIconForApplication",
Py_FileSystemDefaultEncoding, &appName_))
return NULL;
pool = [[NSAutoreleasePool alloc] init];
appName = [NSString stringWithUTF8String:appName_];
appPath = [[NSWorkspace sharedWorkspace] fullPathForApplication:appName];
if (! appPath)
{
PyErr_Format(PyExc_RuntimeError, "Application named '%s' not found", appName_);
self = NULL;
goto done;
}
theImage = [[NSWorkspace sharedWorkspace] iconForFile:appPath];
self = newImageObject(theImage);
done:
[pool release];
return (PyObject *) self;
}
static PyMethodDef ImageObject_methods[] = {
{"imageFromPath", (PyCFunction)ImageObject_imageFromPath, METH_VARARGS | METH_CLASS},
{"imageWithData", (PyCFunction)ImageObject_imageWithData, METH_VARARGS | METH_CLASS},
{"imageWithIconForFile", (PyCFunction)ImageObject_imageWithIconForFile, METH_VARARGS | METH_CLASS},
{"imageWithIconForFileType", (PyCFunction)ImageObject_imageWithIconForFileType, METH_VARARGS | METH_CLASS},
{"imageWithIconForCurrentApplication", (PyCFunction)ImageObject_imageWithIconForCurrentApplication, METH_VARARGS | METH_CLASS},
{"imageWithIconForApplication", (PyCFunction)ImageObject_imageWithIconForApplication, METH_VARARGS | METH_CLASS},
{NULL, NULL} /* sentinel */
};
static PyTypeObject ImageObject_Type = {
PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"_growlImage.Image", /*tp_name*/
sizeof(ImageObject), /*tp_basicsize*/
0, /*tp_itemsize*/
/* methods */
(destructor)ImageObject_dealloc, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
ImageObject_getAttr, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_CLASS, /*tp_flags*/
0, /*tp_doc*/
0, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
ImageObject_methods, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
PyType_GenericAlloc, /*tp_alloc*/
0, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
};
static PyMethodDef _growlImage_methods[] = {
{NULL, NULL}
};
PyMODINIT_FUNC
init_growlImage(void)
{
PyObject *m;
if (PyType_Ready(&ImageObject_Type) < 0)
return;
m = Py_InitModule("_growlImage", _growlImage_methods);
PyModule_AddObject(m, "Image", (PyObject *)&ImageObject_Type);
}

25
src/osx/growl/setup.py Normal file
View file

@ -0,0 +1,25 @@
#!/usr/bin/python
from distutils.core import setup, Extension
import sys
_growl = Extension('_growl',
extra_link_args = ["-framework","CoreFoundation"],
sources = ['libgrowl.c'])
_growlImage = Extension('_growlImage',
extra_link_args = ["-framework","Cocoa"],
sources = ['growlImage.m'])
if sys.platform.startswith("darwin"):
modules = [_growl, _growlImage]
else:
modules = []
setup(name="py-Growl",
version="0.0.7",
description="Python bindings for posting notifications to the Growl daemon",
author="Mark Rowe",
author_email="bdash@users.sourceforge.net",
url="http://growl.info",
py_modules=["Growl"],
ext_modules = modules )

63
src/osx/growler.py Normal file
View file

@ -0,0 +1,63 @@
import sys, os
from growl.Growl import GrowlNotifier
from common import gajim, helpers
if sys.platform != "darwin":
raise ImportError("System platform is not OS/X")
GENERIC_NOTIF = _('Generic')
notifications = [
_('Contact Signed In'), _('Contact Signed Out'), _('New Message'),
_('New Single Message'), _('New Private Message'), _('New E-mail'),
_('File Transfer Request'), _('File Transfer Error'),
_('File Transfer Completed'), _('File Transfer Stopped'),
_('Groupchat Invitation'), _('Contact Changed Status'),
_('Connection Failed'), GENERIC_NOTIF
]
growler = None
def init():
global growler, notifications
icon = file(os.path.join(gajim.DATA_DIR, "pixmaps", "gajim.icns"), "r")
growler = GrowlNotifier(applicationName = "Gajim",
notifications = notifications,
applicationIcon = icon.read(),
notify_cb = notifyCB)
growler.register()
return
def notify(event_type, jid, account, msg_type, path_to_image, title, text):
global notifications
if not event_type in notifications:
event_type = GENERIC_NOTIF
if not text:
text = gajim.get_name_from_jid(account, jid) # default value of text
text = filterString(text)
if not title:
title = event_type
title = filterString(title)
if not path_to_image:
path_to_image = os.path.abspath(
os.path.join(gajim.DATA_DIR, 'pixmaps', 'events',
'chat_msg_recv.png')) # img to display
icon = file(path_to_image, "r")
context = [account, jid, msg_type]
growler.notify(event_type, title, text, icon.read(), False, None,
context)
return
def notifyCB(data):
gajim.interface.handle_event(data[0], data[1], data[2])
def filterString(string):
string = string.replace("&quot;", "'")
return string

174
src/osx/idle.c Normal file
View file

@ -0,0 +1,174 @@
/*****
This is a modified form of idler.c. The original copyright notice follows.
**/
/*****************************************
* idler.c
*
* Uses IOKit to figure out the idle time of the system. The idle time
* is stored as a property of the IOHIDSystem class; the name is
* HIDIdleTime. Stored as a 64-bit int, measured in ns.
*
* The program itself just prints to stdout the time that the computer
has
* been idle in seconds.
*
* Compile with gcc -Wall -framework IOKit -framework Carbon idler.c -o
* idler
*
* Copyright (c) 2003, Stanford University
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
are
* met:
* Redistributions of source code must retain the above copyright
notice,
* this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
notice,
* this list of conditions and the following disclaimer in the
documentation
* and/or other materials provided with the distribution.
*
* Neither the name of Stanford University nor the names of its
contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <CoreFoundation/CoreFoundation.h>
#include <CoreServices/CoreServices.h>
#include <IOKit/IOKitLib.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <Python.h>
/* 10^9 -- number of ns in a second */
#define NS_SECONDS 1000000000
static mach_port_t __idle_osx_master_port;
io_registry_entry_t __idle_osx_service;
static PyObject * idle_init(PyObject *self, PyObject *args)
{
io_iterator_t iter;
CFMutableDictionaryRef hid_match;
IOMasterPort(MACH_PORT_NULL, &__idle_osx_master_port);
/* Get IOHIDSystem */
hid_match = IOServiceMatching("IOHIDSystem");
IOServiceGetMatchingServices(__idle_osx_master_port, hid_match, &iter);
if (iter == 0) {
printf("Error accessing IOHIDSystem\n");
}
__idle_osx_service = IOIteratorNext(iter);
if (__idle_osx_service == 0) {
printf("Iterator's empty!\n");
}
IOObjectRelease(iter);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject * idle_getIdleSec(PyObject *self, PyObject *args)
{
CFMutableDictionaryRef properties = 0;
CFTypeRef obj = NULL;
uint64_t tHandle = 0;
if (IORegistryEntryCreateCFProperties(__idle_osx_service, &properties,
kCFAllocatorDefault, 0) ==
KERN_SUCCESS && properties != NULL)
{
obj = CFDictionaryGetValue(properties, CFSTR("HIDIdleTime"));
CFRetain(obj);
}
else
{
printf("Couldn't grab properties of system\n");
}
if (obj)
{
CFTypeID type = CFGetTypeID(obj);
if (type == CFDataGetTypeID())
{
CFDataGetBytes((CFDataRef) obj,
CFRangeMake(0, sizeof(tHandle)),
(UInt8*) &tHandle);
}
else if (type == CFNumberGetTypeID())
{
CFNumberGetValue((CFNumberRef)obj,
kCFNumberSInt64Type,
&tHandle);
}
else
{
printf("%d: unsupported type\n", (int)type);
}
CFRelease(obj);
// essentially divides by 10^9
tHandle >>= 30;
}
else
{
printf("Can't find idle time\n");
}
CFRelease((CFTypeRef)properties);
return Py_BuildValue("L", tHandle);
}
static PyObject * idle_close(PyObject *self, PyObject *args)
{
/* Release our resources */
IOObjectRelease(__idle_osx_service);
Py_INCREF(Py_None);
return Py_None;
}
static PyMethodDef idleMethods[] =
{
{"init", idle_init, METH_VARARGS, "init idle"},
{"getIdleSec", idle_getIdleSec, METH_VARARGS, "Get idle time in seconds"},
{"close", idle_close, METH_VARARGS, "close idle"},
{NULL, NULL, 0, NULL}
};
PyMODINIT_FUNC initidle(void)
{
(void) Py_InitModule("idle", idleMethods);
}

19
src/osx/nsapp.h Normal file
View file

@ -0,0 +1,19 @@
#import <Cocoa/Cocoa.h>
@interface NSApplication (Gajim)
- (void) initGajim;
- (void) initGUI;
- (BOOL) initNetNotify;
- (void) orderFrontStandardAboutPanel: (id)sender;
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (BOOL) application:(NSApplication *)theApplication
openFile:(NSString *)filename;
- (void) application:(NSApplication *)sender openFiles:(NSArray *)filenames;
- (BOOL) applicationOpenUntitledFile:(NSApplication *)theApplication;
- (BOOL) applicationShouldOpenUntitledFile:(NSApplication *)sender;
+ (void) netNotifyCB: (NSNotification*)notif;
@end

239
src/osx/nsapp.m Normal file
View file

@ -0,0 +1,239 @@
#import "nsapp.h"
#include <notify.h>
#include <AppKit/NSSound.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <Python.h>
#define GAJIM_POOL_ALLOC \
NSAutoreleasePool *gajim_pool = [[NSAutoreleasePool alloc] init];
#define GAJIM_POOL_FREE [gajim_pool release];
static PyObject *netChangedCB = NULL;
static NSFileHandle* netNotifyFH = nil;
static int netNotifyToken = -1;
@implementation NSApplication (Gajim)
- (void) initGUI
{
[NSBundle loadNibNamed:@"Gajim" owner:NSApp];
}
+ (void) netNotifyCB: (NSNotification*) notif
{
NSLog(@"Network changed notification");
if (netChangedCB)
{
PyObject_CallObject(netChangedCB, NULL);
}
[[notif object] readInBackgroundAndNotify];
}
- (BOOL) initNetNotify
{
int fd = 0;
if (notify_register_file_descriptor(
"com.apple.system.config.network_change", &fd, 0,
&netNotifyToken) != NOTIFY_STATUS_OK)
{
return FALSE;
}
netNotifyFH = [[NSFileHandle alloc] initWithFileDescriptor: fd];
[[NSNotificationCenter defaultCenter] addObserver: [self class]
selector: @selector(netNotifyCB:)
name: NSFileHandleReadCompletionNotification
object: netNotifyFH];
[netNotifyFH readInBackgroundAndNotify];
return TRUE;
}
- (void) initGajim
{
GAJIM_POOL_ALLOC
[self initGUI];
[self initNetNotify];
[NSApp setDelegate:self];
[NSApp finishLaunching];
GAJIM_POOL_FREE
}
- (void) orderFrontStandardAboutPanel: (id)sender
{
PyRun_SimpleString("\n\
import gobject\n\
import dialogs\n\
def doAbout():\n\
dialogs.AboutDialog()\n\
return None\n\
gobject.idle_add(doAbout)\n\
");
}
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
/*
PyRun_SimpleString("\n\
import gajim\n\
import gobject\n\
def doQuit():\n\
gajim.interface.roster.on_quit_menuitem_activate(None)\n\
return None\n\
gobject.idle_add(doQuit)\n\
");
*/
return NSTerminateNow;
}
- (BOOL) application:(NSApplication *)theApplication
openFile:(NSString *)filename
{
NSLog(@"openFile");
NSLog(filename);
return YES;
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
{
NSLog(@"openFiles");
NSEnumerator* iter = [filenames objectEnumerator];
NSString* str;
while ((str = [iter nextObject]))
{
NSLog(str);
}
return;
}
- (BOOL)applicationOpenUntitledFile:(NSApplication *)theApplication
{
NSLog(@"openUntitledFile");
return YES;
}
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
{
NSLog(@"shouldOpenUntitledFile");
return YES;
}
@end
static PyObject * nsapp_init(PyObject *self, PyObject *args)
{
[NSApp initGajim];
Py_INCREF(Py_None);
return Py_None;
}
static PyObject * nsapp_setNetworkCB(PyObject *self, PyObject *args)
{
PyArg_UnpackTuple(args, "netcb", 1, 1, &netChangedCB);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject * nsapp_requestUserAttention(PyObject *self, PyObject *args)
{
GAJIM_POOL_ALLOC
[NSApp requestUserAttention:NSInformationalRequest];
GAJIM_POOL_FREE
Py_INCREF(Py_None);
return Py_None;
}
static PyObject * nsapp_playFile(PyObject *self, PyObject *args)
{
GAJIM_POOL_ALLOC
const char* cstr = NULL;
if (!PyArg_ParseTuple(args, "s", &cstr))
{
return NULL;
}
NSSound* snd = [[NSSound alloc] initWithContentsOfFile:
[[NSString alloc] initWithUTF8String: cstr]
byReference: YES];
if (!snd)
{
Py_INCREF(Py_None);
return Py_None;
}
if (![snd play])
{
Py_INCREF(Py_None);
return Py_None;
}
GAJIM_POOL_FREE
return Py_BuildValue("b", 1);
}
static PyObject * nsapp_getBundlePath(PyObject *self, PyObject *args)
{
GAJIM_POOL_ALLOC
NSBundle* bundle = [NSBundle mainBundle];
if (!bundle)
{
Py_INCREF(Py_None);
return Py_None;
}
NSString* nspath = [bundle bundlePath];
if (!nspath)
{
Py_INCREF(Py_None);
return Py_None;
}
const char* path = [nspath UTF8String];
PyObject* pypath = Py_BuildValue("s", path);
GAJIM_POOL_FREE
return pypath;
}
static PyMethodDef nsappMethods[] =
{
{"init", nsapp_init, METH_VARARGS, "init nsapp"},
{"setNetworkCB", nsapp_setNetworkCB, METH_VARARGS,
"Callback to call when the network state changes"},
{"getBundlePath", nsapp_getBundlePath, METH_VARARGS,
"Get the path to the bundle we were run from"},
{"playFile", nsapp_playFile, METH_VARARGS,
"Play a sound file"},
{"requestUserAttention", nsapp_requestUserAttention, METH_VARARGS,
"Sends a request for the users attention to the window manager"},
{NULL, NULL, 0, NULL}
};
PyMODINIT_FUNC initnsapp(void)
{
(void) Py_InitModule("nsapp", nsappMethods);
}

20
src/osx/setup.py Normal file
View file

@ -0,0 +1,20 @@
from distutils.core import setup, Extension
setup(
name = 'Gajim',
version = '0.11',
description = 'A full featured Jabber client',
author = 'Gajim Development Team',
url = 'http://www.gajim.org/',
download_url = 'http://www.gajim.org/downloads.php',
license = 'GPL',
ext_modules=[
Extension('idle', ['idle.c'],
extra_compile_args=['-Wall'],
extra_link_args=['-framework', 'IOKit', '-framework', 'Carbon']),
Extension('nsapp', ['nsapp.m'],
extra_compile_args=['-Wall'],
extra_link_args=['-framework', 'AppKit', '-framework', 'Cocoa']),
]
)

View file

@ -0,0 +1 @@
# dummy

View file

@ -0,0 +1 @@
# dummy

575
src/osx/syncmenu/Makefile Normal file
View file

@ -0,0 +1,575 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# src/osx/syncmenu/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
srcdir = .
top_srcdir = ../../..
pkgdatadir = $(datadir)/gajim
pkglibdir = $(libdir)/gajim
pkgincludedir = $(includedir)/gajim
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
subdir = src/osx/syncmenu
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(syncmenulibdir)"
syncmenulibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(syncmenulib_LTLIBRARIES)
syncmenu_la_LIBADD =
am__syncmenu_la_SOURCES_DIST = sync-menu.c pysyncmenu.c
#am_syncmenu_la_OBJECTS = syncmenu_la-sync-menu.lo \
# syncmenu_la-pysyncmenu.lo
syncmenu_la_OBJECTS = $(am_syncmenu_la_OBJECTS)
#am_syncmenu_la_rpath = -rpath $(syncmenulibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(syncmenu_la_SOURCES)
DIST_SOURCES = $(am__syncmenu_la_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /home/asterix/gajim/missing --run aclocal-1.9
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
ALL_LINGUAS =
AMDEP_FALSE = #
AMDEP_TRUE =
AMTAR = ${SHELL} /home/asterix/gajim/missing --run tar
AR = ar
AUTOCONF = ${SHELL} /home/asterix/gajim/missing --run autoconf
AUTOHEADER = ${SHELL} /home/asterix/gajim/missing --run autoheader
AUTOMAKE = ${SHELL} /home/asterix/gajim/missing --run automake-1.9
AWK = gawk
BUILD_CARBON_FALSE =
BUILD_CARBON_TRUE = #
BUILD_COCOA_FALSE =
BUILD_COCOA_TRUE = #
BUILD_GTKSPELL_FALSE = #
BUILD_GTKSPELL_TRUE =
BUILD_IDLE_FALSE = #
BUILD_IDLE_OSX_FALSE =
BUILD_IDLE_OSX_TRUE = #
BUILD_IDLE_TRUE =
BUILD_REMOTE_CONTROL_FALSE = #
BUILD_REMOTE_CONTROL_TRUE =
BUILD_TRAYICON_FALSE = #
BUILD_TRAYICON_TRUE =
CARBON_LIBS =
CATALOGS =
CATOBJEXT = .gmo
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
COCOA_LIBS =
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
DATADIR = /usr/local/share
DATADIRNAME = share
DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
DBUS_LIBS = -ldbus-1
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DOCDIR = /usr/local/share/doc/gajim
ECHO = echo
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
F77 =
FFLAGS =
GETTEXT_PACKAGE = gajim
GMOFILES =
GMSGFMT = /usr/bin/msgfmt
GREP = /bin/grep
GTKSPELL_CFLAGS = -I/usr/include/gtkspell-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12
GTKSPELL_LIBS = -lgtkspell -laspell -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
INSTOBJEXT = .mo
INTLLIBS =
INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_EXTRACT = $(top_builddir)/intltool-extract
INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_MERGE = $(top_builddir)/intltool-merge
INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@
INTLTOOL_PERL = /usr/bin/perl
INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_UPDATE = $(top_builddir)/intltool-update
INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
LDFLAGS =
LIBDIR = /usr/local/lib
LIBOBJS =
LIBS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAINTAINER_MODE_FALSE =
MAINTAINER_MODE_TRUE = #
MAKEINFO = ${SHELL} /home/asterix/gajim/missing --run makeinfo
MKINSTALLDIRS = ./mkinstalldirs
MSGFMT = /usr/bin/msgfmt
MSGFMT_OPTS = -c
OBJEXT = o
PACKAGE = gajim
PACKAGE_BUGREPORT = http://trac.gajim.org/
PACKAGE_NAME = Gajim - A Jabber Instant Messager
PACKAGE_STRING = Gajim - A Jabber Instant Messager 0.11.2.2-svn
PACKAGE_TARNAME = gajim
PACKAGE_VERSION = 0.11.2.2-svn
PATH_SEPARATOR = :
PKG_CONFIG = /usr/bin/pkg-config
POFILES =
POSUB = po
PO_IN_DATADIR_FALSE =
PO_IN_DATADIR_TRUE =
PYGTK_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pygtk-2.0
PYGTK_DEFS = /usr/share/pygtk/2.0/defs
PYGTK_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgmodule-2.0 -ldl -lffi -lgobject-2.0 -lglib-2.0
PYTHON = /usr/bin/python
PYTHON_EXEC_PREFIX = ${exec_prefix}
PYTHON_INCLUDES = -I/usr/include/python2.4
PYTHON_PLATFORM = linux2
PYTHON_PREFIX = ${prefix}
PYTHON_VERSION = 2.4
RANLIB = ranlib
SED = /bin/sed
SET_MAKE =
SHELL = /bin/sh
STRIP = strip
USE_NLS = yes
VERSION = 0.11.2.2-svn
XGETTEXT = /usr/bin/xgettext
XMKMF =
XSCRNSAVER_CFLAGS =
XSCRNSAVER_LIBS = -lXss
ac_ct_CC = gcc
ac_ct_CXX = g++
ac_ct_F77 =
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE =
am__fastdepCXX_FALSE = #
am__fastdepCXX_TRUE =
am__fastdepOBJC_FALSE =
am__fastdepOBJC_TRUE = #
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = /home/asterix/gajim/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = mkdir -p --
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = ${pyexecdir}/gajim
pkgpythondir = ${pythondir}/gajim
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
pyexecdir = ${exec_prefix}/lib/python2.4/site-packages
pythondir = ${prefix}/lib/python2.4/site-packages
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias =
GTKPATH = "/Library/Frameworks/GTK+.framework/Versions/Current/bin"
INCLUDES = $(PYTHON_INCLUDES)
GTKLDFLAGS = `$(GTKPATH)/pkg-config --libs gtk+-2.0 pygobject-2.0`
GTKCFLAGS = `$(GTKPATH)/pkg-config --cflags gtk+-2.0 pygobject-2.0`
#syncmenulib_LTLIBRARIES = syncmenu.la
#syncmenulibdir = $(libdir)/gajim
#syncmenu_la_SOURCES = sync-menu.c pysyncmenu.c
#syncmenu_la_LDFLAGS = -module -avoid-version $(GTKLDFLAGS)
#syncmenu_la_CFLAGS = $(GTKCFLAGS) -Wall -g $(INCLUDES)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/syncmenu/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/syncmenu/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-syncmenulibLTLIBRARIES: $(syncmenulib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(syncmenulibdir)" || $(mkdir_p) "$(DESTDIR)$(syncmenulibdir)"
@list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(syncmenulibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(syncmenulibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(syncmenulibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(syncmenulibdir)/$$f"; \
else :; fi; \
done
uninstall-syncmenulibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(syncmenulibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(syncmenulibdir)/$$p"; \
done
clean-syncmenulibLTLIBRARIES:
-test -z "$(syncmenulib_LTLIBRARIES)" || rm -f $(syncmenulib_LTLIBRARIES)
@list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
syncmenu.la: $(syncmenu_la_OBJECTS) $(syncmenu_la_DEPENDENCIES)
$(LINK) $(am_syncmenu_la_rpath) $(syncmenu_la_LDFLAGS) $(syncmenu_la_OBJECTS) $(syncmenu_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/syncmenu_la-pysyncmenu.Plo
include ./$(DEPDIR)/syncmenu_la-sync-menu.Plo
.c.o:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c $<
.c.obj:
if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
# source='$<' object='$@' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LTCOMPILE) -c -o $@ $<
syncmenu_la-sync-menu.lo: sync-menu.c
if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -MT syncmenu_la-sync-menu.lo -MD -MP -MF "$(DEPDIR)/syncmenu_la-sync-menu.Tpo" -c -o syncmenu_la-sync-menu.lo `test -f 'sync-menu.c' || echo '$(srcdir)/'`sync-menu.c; \
then mv -f "$(DEPDIR)/syncmenu_la-sync-menu.Tpo" "$(DEPDIR)/syncmenu_la-sync-menu.Plo"; else rm -f "$(DEPDIR)/syncmenu_la-sync-menu.Tpo"; exit 1; fi
# source='sync-menu.c' object='syncmenu_la-sync-menu.lo' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -c -o syncmenu_la-sync-menu.lo `test -f 'sync-menu.c' || echo '$(srcdir)/'`sync-menu.c
syncmenu_la-pysyncmenu.lo: pysyncmenu.c
if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -MT syncmenu_la-pysyncmenu.lo -MD -MP -MF "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo" -c -o syncmenu_la-pysyncmenu.lo `test -f 'pysyncmenu.c' || echo '$(srcdir)/'`pysyncmenu.c; \
then mv -f "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo" "$(DEPDIR)/syncmenu_la-pysyncmenu.Plo"; else rm -f "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo"; exit 1; fi
# source='pysyncmenu.c' object='syncmenu_la-pysyncmenu.lo' libtool=yes \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -c -o syncmenu_la-pysyncmenu.lo `test -f 'pysyncmenu.c' || echo '$(srcdir)/'`pysyncmenu.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
for dir in "$(DESTDIR)$(syncmenulibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-syncmenulibLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-syncmenulibLTLIBRARIES
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-syncmenulibLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-syncmenulibLTLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip install-syncmenulibLTLIBRARIES installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am \
uninstall-syncmenulibLTLIBRARIES
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,21 @@
GTKPATH="/Library/Frameworks/GTK+.framework/Versions/Current/bin"
export MACOSX_DEPLOYMENT_TARGET=10.4
INCLUDES = $(PYTHON_INCLUDES)
GTKLDFLAGS=`$(GTKPATH)/pkg-config --libs gtk+-2.0 pygobject-2.0`
GTKCFLAGS=`$(GTKPATH)/pkg-config --cflags gtk+-2.0 pygobject-2.0`
if BUILD_COCOA
syncmenulib_LTLIBRARIES = syncmenu.la
syncmenulibdir = $(libdir)/gajim
syncmenu_la_SOURCES = sync-menu.c pysyncmenu.c
syncmenu_la_LDFLAGS = -module -avoid-version $(GTKLDFLAGS)
syncmenu_la_CFLAGS = $(GTKCFLAGS) -Wall -g $(INCLUDES)
endif
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in

View file

@ -0,0 +1,575 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src/osx/syncmenu
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/python.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(syncmenulibdir)"
syncmenulibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(syncmenulib_LTLIBRARIES)
syncmenu_la_LIBADD =
am__syncmenu_la_SOURCES_DIST = sync-menu.c pysyncmenu.c
@BUILD_COCOA_TRUE@am_syncmenu_la_OBJECTS = syncmenu_la-sync-menu.lo \
@BUILD_COCOA_TRUE@ syncmenu_la-pysyncmenu.lo
syncmenu_la_OBJECTS = $(am_syncmenu_la_OBJECTS)
@BUILD_COCOA_TRUE@am_syncmenu_la_rpath = -rpath $(syncmenulibdir)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(syncmenu_la_SOURCES)
DIST_SOURCES = $(am__syncmenu_la_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
ALL_LINGUAS = @ALL_LINGUAS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CARBON_FALSE = @BUILD_CARBON_FALSE@
BUILD_CARBON_TRUE = @BUILD_CARBON_TRUE@
BUILD_COCOA_FALSE = @BUILD_COCOA_FALSE@
BUILD_COCOA_TRUE = @BUILD_COCOA_TRUE@
BUILD_GTKSPELL_FALSE = @BUILD_GTKSPELL_FALSE@
BUILD_GTKSPELL_TRUE = @BUILD_GTKSPELL_TRUE@
BUILD_IDLE_FALSE = @BUILD_IDLE_FALSE@
BUILD_IDLE_OSX_FALSE = @BUILD_IDLE_OSX_FALSE@
BUILD_IDLE_OSX_TRUE = @BUILD_IDLE_OSX_TRUE@
BUILD_IDLE_TRUE = @BUILD_IDLE_TRUE@
BUILD_REMOTE_CONTROL_FALSE = @BUILD_REMOTE_CONTROL_FALSE@
BUILD_REMOTE_CONTROL_TRUE = @BUILD_REMOTE_CONTROL_TRUE@
BUILD_TRAYICON_FALSE = @BUILD_TRAYICON_FALSE@
BUILD_TRAYICON_TRUE = @BUILD_TRAYICON_TRUE@
CARBON_LIBS = @CARBON_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COCOA_LIBS = @COCOA_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIR = @DATADIR@
DATADIRNAME = @DATADIRNAME@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DOCDIR = @DOCDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
GTKSPELL_LIBS = @GTKSPELL_LIBS@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
LDFLAGS = @LDFLAGS@
LIBDIR = @LIBDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_DEFS = @PYGTK_DEFS@
PYGTK_LIBS = @PYGTK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XSCRNSAVER_CFLAGS = @XSCRNSAVER_CFLAGS@
XSCRNSAVER_LIBS = @XSCRNSAVER_LIBS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
GTKPATH = "/Library/Frameworks/GTK+.framework/Versions/Current/bin"
INCLUDES = $(PYTHON_INCLUDES)
GTKLDFLAGS = `$(GTKPATH)/pkg-config --libs gtk+-2.0 pygobject-2.0`
GTKCFLAGS = `$(GTKPATH)/pkg-config --cflags gtk+-2.0 pygobject-2.0`
@BUILD_COCOA_TRUE@syncmenulib_LTLIBRARIES = syncmenu.la
@BUILD_COCOA_TRUE@syncmenulibdir = $(libdir)/gajim
@BUILD_COCOA_TRUE@syncmenu_la_SOURCES = sync-menu.c pysyncmenu.c
@BUILD_COCOA_TRUE@syncmenu_la_LDFLAGS = -module -avoid-version $(GTKLDFLAGS)
@BUILD_COCOA_TRUE@syncmenu_la_CFLAGS = $(GTKCFLAGS) -Wall -g $(INCLUDES)
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/osx/syncmenu/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/osx/syncmenu/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-syncmenulibLTLIBRARIES: $(syncmenulib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(syncmenulibdir)" || $(mkdir_p) "$(DESTDIR)$(syncmenulibdir)"
@list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(syncmenulibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(syncmenulibdir)/$$f'"; \
$(LIBTOOL) --mode=install $(syncmenulibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(syncmenulibdir)/$$f"; \
else :; fi; \
done
uninstall-syncmenulibLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(syncmenulibdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(syncmenulibdir)/$$p"; \
done
clean-syncmenulibLTLIBRARIES:
-test -z "$(syncmenulib_LTLIBRARIES)" || rm -f $(syncmenulib_LTLIBRARIES)
@list='$(syncmenulib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
syncmenu.la: $(syncmenu_la_OBJECTS) $(syncmenu_la_DEPENDENCIES)
$(LINK) $(am_syncmenu_la_rpath) $(syncmenu_la_LDFLAGS) $(syncmenu_la_OBJECTS) $(syncmenu_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syncmenu_la-pysyncmenu.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syncmenu_la-sync-menu.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
syncmenu_la-sync-menu.lo: sync-menu.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -MT syncmenu_la-sync-menu.lo -MD -MP -MF "$(DEPDIR)/syncmenu_la-sync-menu.Tpo" -c -o syncmenu_la-sync-menu.lo `test -f 'sync-menu.c' || echo '$(srcdir)/'`sync-menu.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/syncmenu_la-sync-menu.Tpo" "$(DEPDIR)/syncmenu_la-sync-menu.Plo"; else rm -f "$(DEPDIR)/syncmenu_la-sync-menu.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-menu.c' object='syncmenu_la-sync-menu.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -c -o syncmenu_la-sync-menu.lo `test -f 'sync-menu.c' || echo '$(srcdir)/'`sync-menu.c
syncmenu_la-pysyncmenu.lo: pysyncmenu.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -MT syncmenu_la-pysyncmenu.lo -MD -MP -MF "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo" -c -o syncmenu_la-pysyncmenu.lo `test -f 'pysyncmenu.c' || echo '$(srcdir)/'`pysyncmenu.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo" "$(DEPDIR)/syncmenu_la-pysyncmenu.Plo"; else rm -f "$(DEPDIR)/syncmenu_la-pysyncmenu.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pysyncmenu.c' object='syncmenu_la-pysyncmenu.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(syncmenu_la_CFLAGS) $(CFLAGS) -c -o syncmenu_la-pysyncmenu.lo `test -f 'pysyncmenu.c' || echo '$(srcdir)/'`pysyncmenu.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES)
installdirs:
for dir in "$(DESTDIR)$(syncmenulibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-syncmenulibLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-syncmenulibLTLIBRARIES
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-syncmenulibLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-syncmenulibLTLIBRARIES ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip install-syncmenulibLTLIBRARIES installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am \
uninstall-syncmenulibLTLIBRARIES
export MACOSX_DEPLOYMENT_TARGET=10.4
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,55 @@
#include <errno.h>
#include <string.h>
#include <Python.h>
#include <pygobject.h>
#include "sync-menu.h"
PyDoc_STRVAR(pysync_menu_takeover_menu__doc__,
"Receives: a GtkMenuShell\n"
"Returns:\n");
static PyObject *pysync_menu_takeover_menu(PyObject *s, PyObject *args)
{
PyObject *obj = NULL;
if (!PyArg_ParseTuple(args, "O:GtkMenuShell", &obj))
{
PyErr_SetString(PyExc_TypeError, "Failed to process parameter1");
return NULL;
}
Py_INCREF(obj);
GtkMenuShell* menu = pyg_boxed_get(obj, GtkMenuShell);
if (!menu)
{
PyErr_SetString(PyExc_TypeError, "Failed to process parameter2");
return NULL;
}
sync_menu_takeover_menu(menu);
Py_INCREF(Py_None);
return Py_None;
}
static PyMethodDef syncmenuModuleMethods[] =
{
{"takeover_menu", (PyCFunction)pysync_menu_takeover_menu,
METH_VARARGS, pysync_menu_takeover_menu__doc__},
{NULL}
};
PyDoc_STRVAR(modsyncmenu__doc__,
"GTK+ Integration for the Mac OS X Menubar.\n");
void initsyncmenu(void)
{
if (!Py_InitModule3("syncmenu", syncmenuModuleMethods, modsyncmenu__doc__))
{
PyErr_SetString(PyExc_ImportError,
"Py_InitModule3(\"syncmenu\") failed");
return;
}
}

27
src/osx/syncmenu/setup.py Normal file
View file

@ -0,0 +1,27 @@
from distutils.core import setup, Extension
import commands
retval, output = commands.getstatusoutput("pkg-config --cflags gtk+-2.0 pygtk-2.0")
if retval != 0:
print "Failed to find package details for gtk+-2.0"
print
print output
sys.exit(1)
cflags = output.strip().split()
retval, output = commands.getstatusoutput("pkg-config --libs gtk+-2.0 pygtk-2.0")
if retval != 0:
print "Failed to find package details for gtk+-2.0"
print
print output
sys.exit(1)
libs = output.strip().split()
setup(name='syncmenu', version='0.2',
author='James Newton', author_email='baron@codepunks.org',
ext_modules=[
Extension('syncmenu', ['pysyncmenu.c', 'sync-menu.c'],
extra_link_args=libs + ['-framework', 'Carbon'],
extra_compile_args=['-Wall'] + cflags)
])

View file

@ -0,0 +1,722 @@
/* GTK+ Integration for the Mac OS X Menubar.
*
* Copyright (C) 2007 Pioneer Research Center USA, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <Carbon/Carbon.h>
#include "sync-menu.h"
/* TODO
*
* - Setup shortcuts, possibly transforming ctrl->cmd
* - Sync menus
* - Create on demand? (can this be done with gtk+? ie fill in menu items when the menu is opened)
* - Figure out what to do per app/window...
* - Toggle/radio items
*
*/
#define GTK_QUARTZ_MENU_CREATOR 'GTKC'
#define GTK_QUARTZ_ITEM_WIDGET 'GWID'
static void sync_menu_shell (GtkMenuShell *menu_shell,
MenuRef carbon_menu,
gboolean toplevel);
/*
* utility functions
*/
static GtkWidget *
find_menu_label (GtkWidget *widget)
{
GtkWidget *label = NULL;
if (GTK_IS_LABEL (widget))
return widget;
if (GTK_IS_CONTAINER (widget))
{
GList *children;
GList *l;
children = gtk_container_get_children (GTK_CONTAINER (widget));
for (l = children; l; l = l->next)
{
label = find_menu_label (l->data);
if (label)
break;
}
g_list_free (children);
}
return label;
}
static const gchar *
get_menu_label_text (GtkWidget *menu_item,
GtkWidget **label)
{
*label = find_menu_label (menu_item);
if (!*label)
return NULL;
return gtk_label_get_text (GTK_LABEL (*label));
}
static gboolean
accel_find_func (GtkAccelKey *key,
GClosure *closure,
gpointer data)
{
return (GClosure *) data == closure;
}
/*
* CarbonMenu functions
*/
typedef struct
{
MenuRef menu;
} CarbonMenu;
static GQuark carbon_menu_quark = 0;
static CarbonMenu *
carbon_menu_new (void)
{
return g_slice_new0 (CarbonMenu);
}
static void
carbon_menu_free (CarbonMenu *menu)
{
g_slice_free (CarbonMenu, menu);
}
static CarbonMenu *
carbon_menu_get (GtkWidget *widget)
{
return g_object_get_qdata (G_OBJECT (widget), carbon_menu_quark);
}
static void
carbon_menu_connect (GtkWidget *menu,
MenuRef menuRef)
{
CarbonMenu *carbon_menu = carbon_menu_get (menu);
if (!carbon_menu)
{
carbon_menu = carbon_menu_new ();
g_object_set_qdata_full (G_OBJECT (menu), carbon_menu_quark,
carbon_menu,
(GDestroyNotify) carbon_menu_free);
}
carbon_menu->menu = menuRef;
}
/*
* CarbonMenuItem functions
*/
typedef struct
{
MenuRef menu;
MenuItemIndex index;
MenuRef submenu;
GClosure *accel_closure;
} CarbonMenuItem;
static GQuark carbon_menu_item_quark = 0;
static CarbonMenuItem *
carbon_menu_item_new (void)
{
return g_slice_new0 (CarbonMenuItem);
}
static void
carbon_menu_item_free (CarbonMenuItem *menu_item)
{
if (menu_item->accel_closure)
g_closure_unref (menu_item->accel_closure);
g_slice_free (CarbonMenuItem, menu_item);
}
static CarbonMenuItem *
carbon_menu_item_get (GtkWidget *widget)
{
return g_object_get_qdata (G_OBJECT (widget), carbon_menu_item_quark);
}
static void
carbon_menu_item_update_state (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
gboolean sensitive;
gboolean visible;
UInt32 set_attrs = 0;
UInt32 clear_attrs = 0;
g_object_get (widget,
"sensitive", &sensitive,
"visible", &visible,
NULL);
if (!sensitive)
set_attrs |= kMenuItemAttrDisabled;
else
clear_attrs |= kMenuItemAttrDisabled;
if (!visible)
set_attrs |= kMenuItemAttrHidden;
else
clear_attrs |= kMenuItemAttrHidden;
ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index,
set_attrs, clear_attrs);
}
static void
carbon_menu_item_update_active (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
gboolean active;
g_object_get (widget,
"active", &active,
NULL);
CheckMenuItem (carbon_item->menu, carbon_item->index,
active);
}
static void
carbon_menu_item_update_submenu (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
GtkWidget *submenu;
submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
if (submenu)
{
GtkWidget *label = NULL;
carbon_item->submenu = NULL;
GetMenuItemHierarchicalMenu(carbon_item->menu, carbon_item->index,
&carbon_item->submenu);
if (!carbon_item->submenu)
{
const gchar *label_text;
CFStringRef cfstr = NULL;
label_text = get_menu_label_text (widget, &label);
if (label_text)
cfstr = CFStringCreateWithCString (NULL, label_text,
kCFStringEncodingUTF8);
CreateNewMenu (0, 0, &carbon_item->submenu);
SetMenuTitleWithCFString (carbon_item->submenu, cfstr);
SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index,
carbon_item->submenu);
if (cfstr)
CFRelease (cfstr);
}
sync_menu_shell (GTK_MENU_SHELL (submenu), carbon_item->submenu, FALSE);
}
else
{
SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index,
NULL);
carbon_item->submenu = NULL;
}
}
static void
carbon_menu_item_update_label (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
GtkWidget *label;
const gchar *label_text;
CFStringRef cfstr = NULL;
label_text = get_menu_label_text (widget, &label);
if (label_text)
cfstr = CFStringCreateWithCString (NULL, label_text,
kCFStringEncodingUTF8);
SetMenuItemTextWithCFString (carbon_item->menu, carbon_item->index,
cfstr);
if (cfstr)
CFRelease (cfstr);
}
static void
carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
GtkWidget *label;
get_menu_label_text (widget, &label);
if (GTK_IS_ACCEL_LABEL (label) &&
GTK_ACCEL_LABEL (label)->accel_closure)
{
GtkAccelKey *key;
key = gtk_accel_group_find (GTK_ACCEL_LABEL (label)->accel_group,
accel_find_func,
GTK_ACCEL_LABEL (label)->accel_closure);
if (key &&
key->accel_key &&
key->accel_flags & GTK_ACCEL_VISIBLE)
{
GdkDisplay *display = gtk_widget_get_display (widget);
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
GdkKeymapKey *keys;
gint n_keys;
if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key,
&keys, &n_keys))
{
UInt8 modifiers = 0;
SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
true, keys[0].keycode);
g_free (keys);
if (key->accel_mods)
{
if (key->accel_mods & GDK_SHIFT_MASK)
modifiers |= kMenuShiftModifier;
if (key->accel_mods & GDK_MOD1_MASK)
modifiers |= kMenuOptionModifier;
}
if (!(key->accel_mods & GDK_CONTROL_MASK))
{
modifiers |= kMenuNoCommandModifier;
}
SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
modifiers);
return;
}
}
}
/* otherwise, clear the menu shortcut */
SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
kMenuNoModifiers | kMenuNoCommandModifier);
ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index,
0, kMenuItemAttrUseVirtualKey);
SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
false, 0);
}
static void
carbon_menu_item_accel_changed (GtkAccelGroup *accel_group,
guint keyval,
GdkModifierType modifier,
GClosure *accel_closure,
GtkWidget *widget)
{
CarbonMenuItem *carbon_item = carbon_menu_item_get (widget);
GtkWidget *label;
get_menu_label_text (widget, &label);
if (GTK_IS_ACCEL_LABEL (label) &&
GTK_ACCEL_LABEL (label)->accel_closure == accel_closure)
carbon_menu_item_update_accelerator (carbon_item, widget);
}
static void
carbon_menu_item_update_accel_closure (CarbonMenuItem *carbon_item,
GtkWidget *widget)
{
GtkAccelGroup *group;
GtkWidget *label;
get_menu_label_text (widget, &label);
if (carbon_item->accel_closure)
{
group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure);
if (group)
g_signal_handlers_disconnect_by_func (group,
carbon_menu_item_accel_changed,
widget);
g_closure_unref (carbon_item->accel_closure);
carbon_item->accel_closure = NULL;
}
if (GTK_IS_ACCEL_LABEL (label))
carbon_item->accel_closure = GTK_ACCEL_LABEL (label)->accel_closure;
if (carbon_item->accel_closure)
{
g_closure_ref (carbon_item->accel_closure);
group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure);
g_signal_connect_object (group, "accel-changed",
G_CALLBACK (carbon_menu_item_accel_changed),
widget, 0);
}
carbon_menu_item_update_accelerator (carbon_item, widget);
}
static void
carbon_menu_item_notify (GObject *object,
GParamSpec *pspec,
CarbonMenuItem *carbon_item)
{
if (!strcmp (pspec->name, "sensitive") ||
!strcmp (pspec->name, "visible"))
{
carbon_menu_item_update_state (carbon_item, GTK_WIDGET (object));
}
else if (!strcmp (pspec->name, "active"))
{
carbon_menu_item_update_active (carbon_item, GTK_WIDGET (object));
}
else if (!strcmp (pspec->name, "submenu"))
{
carbon_menu_item_update_submenu (carbon_item, GTK_WIDGET (object));
}
}
static void
carbon_menu_item_notify_label (GObject *object,
GParamSpec *pspec,
gpointer data)
{
CarbonMenuItem *carbon_item = carbon_menu_item_get (GTK_WIDGET (object));
if (!strcmp (pspec->name, "label"))
{
carbon_menu_item_update_label (carbon_item,
GTK_WIDGET (object));
}
else if (!strcmp (pspec->name, "accel-closure"))
{
carbon_menu_item_update_accel_closure (carbon_item,
GTK_WIDGET (object));
}
}
static CarbonMenuItem *
carbon_menu_item_connect (GtkWidget *menu_item,
GtkWidget *label,
MenuRef menu,
MenuItemIndex index)
{
CarbonMenuItem *carbon_item = carbon_menu_item_get (menu_item);
if (!carbon_item)
{
carbon_item = carbon_menu_item_new ();
g_object_set_qdata_full (G_OBJECT (menu_item), carbon_menu_item_quark,
carbon_item,
(GDestroyNotify) carbon_menu_item_free);
g_signal_connect (menu_item, "notify",
G_CALLBACK (carbon_menu_item_notify),
carbon_item);
if (label)
g_signal_connect_swapped (label, "notify::label",
G_CALLBACK (carbon_menu_item_notify_label),
menu_item);
}
carbon_item->menu = menu;
carbon_item->index = index;
return carbon_item;
}
/*
* carbon event handler
*/
static OSStatus
menu_event_handler_func (EventHandlerCallRef event_handler_call_ref,
EventRef event_ref,
void *data)
{
UInt32 event_class = GetEventClass (event_ref);
UInt32 event_kind = GetEventKind (event_ref);
MenuRef menu_ref;
switch (event_class)
{
case kEventClassCommand:
/* This is called when activating (is that the right GTK+ term?)
* a menu item.
*/
if (event_kind == kEventCommandProcess)
{
HICommand command;
OSStatus err;
//g_print ("Menu: kEventClassCommand/kEventCommandProcess\n");
err = GetEventParameter (event_ref, kEventParamDirectObject,
typeHICommand, 0,
sizeof (command), 0, &command);
if (err == noErr)
{
GtkWidget *widget = NULL;
if (command.commandID == kHICommandQuit)
{
gtk_main_quit (); /* Just testing... */
return noErr;
}
/* Get any GtkWidget associated with the item. */
err = GetMenuItemProperty (command.menu.menuRef,
command.menu.menuItemIndex,
GTK_QUARTZ_MENU_CREATOR,
GTK_QUARTZ_ITEM_WIDGET,
sizeof (widget), 0, &widget);
if (err == noErr && widget)
{
gtk_menu_item_activate (GTK_MENU_ITEM (widget));
return noErr;
}
}
}
break;
case kEventClassMenu:
GetEventParameter (event_ref,
kEventParamDirectObject,
typeMenuRef,
NULL,
sizeof (menu_ref),
NULL,
&menu_ref);
switch (event_kind)
{
case kEventMenuTargetItem:
/* This is called when an item is selected (what is the
* GTK+ term? prelight?)
*/
//g_print ("kEventClassMenu/kEventMenuTargetItem\n");
break;
case kEventMenuOpening:
/* Is it possible to dynamically build the menu here? We
* can at least set visibility/sensitivity.
*/
//g_print ("kEventClassMenu/kEventMenuOpening\n");
break;
case kEventMenuClosed:
//g_print ("kEventClassMenu/kEventMenuClosed\n");
break;
default:
break;
}
break;
default:
break;
}
return CallNextEventHandler (event_handler_call_ref, event_ref);
}
static void
setup_menu_event_handler (void)
{
EventHandlerUPP menu_event_handler_upp;
EventHandlerRef menu_event_handler_ref;
const EventTypeSpec menu_events[] = {
{ kEventClassCommand, kEventCommandProcess },
{ kEventClassMenu, kEventMenuTargetItem },
{ kEventClassMenu, kEventMenuOpening },
{ kEventClassMenu, kEventMenuClosed }
};
/* FIXME: We might have to install one per window? */
menu_event_handler_upp = NewEventHandlerUPP (menu_event_handler_func);
InstallEventHandler (GetApplicationEventTarget (), menu_event_handler_upp,
GetEventTypeCount (menu_events), menu_events, 0,
&menu_event_handler_ref);
#if 0
/* FIXME: Remove the handler with: */
RemoveEventHandler(menu_event_handler_ref);
DisposeEventHandlerUPP(menu_event_handler_upp);
#endif
}
static void
sync_menu_shell (GtkMenuShell *menu_shell,
MenuRef carbon_menu,
gboolean toplevel)
{
GList *children;
GList *l;
MenuItemIndex carbon_index = 1;
carbon_menu_connect (GTK_WIDGET (menu_shell), carbon_menu);
children = gtk_container_get_children (GTK_CONTAINER (menu_shell));
UInt16 carbon_item_count = CountMenuItems(carbon_menu);
for (l = children; l; l = l->next)
{
GtkWidget *menu_item = l->data;
CarbonMenuItem *carbon_item;
if (GTK_IS_TEAROFF_MENU_ITEM (menu_item))
continue;
if (toplevel && g_object_get_data (G_OBJECT (menu_item),
"gtk-empty-menu-item"))
continue;
GtkWidget *label = NULL;
const gchar *label_text = NULL;
label_text = get_menu_label_text (menu_item, &label);
if (label_text && strcmp(label_text, "_SKIP_") == 0)
{
carbon_index++;
continue;
}
else if (!label_text)
label_text = "";
MenuItemAttributes attributes = 0;
if (GTK_IS_SEPARATOR_MENU_ITEM (menu_item))
attributes |= kMenuItemAttrSeparator;
if (!GTK_WIDGET_IS_SENSITIVE (menu_item))
attributes |= kMenuItemAttrDisabled;
if (!GTK_WIDGET_VISIBLE (menu_item))
attributes |= kMenuItemAttrHidden;
CFStringRef cfstr = CFStringCreateWithCString (NULL, label_text,
kCFStringEncodingUTF8);
if (carbon_index > carbon_item_count)
AppendMenuItemTextWithCFString(carbon_menu, cfstr, attributes, 0,
NULL);
else if (!toplevel && (carbon_index > carbon_item_count))
InsertMenuItemTextWithCFString (carbon_menu, cfstr,
carbon_index, attributes, 0);
else
SetMenuItemTextWithCFString(carbon_menu, carbon_index, cfstr);
CFRelease (cfstr);
MenuItemAttributes c_attributes = kMenuItemAttrSectionHeader |
kMenuItemAttrAutoDisable;
if (!(attributes & kMenuItemAttrDisabled))
c_attributes |= kMenuItemAttrDisabled;
if (!(attributes & kMenuItemAttrSeparator))
c_attributes |= kMenuItemAttrSeparator;
if (!(attributes & kMenuItemAttrHidden))
c_attributes |= kMenuItemAttrHidden;
ChangeMenuItemAttributes(carbon_menu, carbon_index,
attributes, c_attributes);
SetMenuItemProperty (carbon_menu, carbon_index,
GTK_QUARTZ_MENU_CREATOR,
GTK_QUARTZ_ITEM_WIDGET,
sizeof (menu_item), &menu_item);
carbon_item = carbon_menu_item_connect (menu_item, label,
carbon_menu,
carbon_index);
if (GTK_IS_CHECK_MENU_ITEM (menu_item))
carbon_menu_item_update_active (carbon_item, menu_item);
carbon_menu_item_update_accel_closure (carbon_item, menu_item);
if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item)))
carbon_menu_item_update_submenu (carbon_item, menu_item);
carbon_index++;
}
while (carbon_index <= carbon_item_count)
{
DeleteMenuItem (carbon_menu, carbon_index);
carbon_index++;
}
g_list_free (children);
}
void
sync_menu_takeover_menu (GtkMenuShell *menu_shell)
{
static MenuRef carbon_menubar = NULL;
g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell));
if (carbon_menu_quark == 0)
carbon_menu_quark = g_quark_from_static_string ("CarbonMenu");
if (carbon_menu_item_quark == 0)
carbon_menu_item_quark = g_quark_from_static_string ("CarbonMenuItem");
if (!carbon_menubar)
{
carbon_menubar = AcquireRootMenu();
setup_menu_event_handler ();
}
sync_menu_shell (menu_shell, carbon_menubar, TRUE);
}

View file

@ -0,0 +1,27 @@
/* GTK+ Integration for the Mac OS X Menubar.
*
* Copyright (C) 2007 Pioneer Research Center USA, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <gtk/gtk.h>
G_BEGIN_DECLS
void sync_menu_takeover_menu (GtkMenuShell *menu_shell);
G_END_DECLS

View file

@ -0,0 +1,107 @@
#include <gtk/gtk.h>
#include "sync-menu.h"
GtkWidget *open_item;
GtkWidget *copy_item;
static void
menu_item_activate_cb (GtkWidget *item,
gpointer user_data)
{
gboolean visible;
gboolean sensitive;
g_print ("Item activated: %s\n", (gchar *) user_data);
g_object_get (G_OBJECT (copy_item),
"visible", &visible,
"sensitive", &sensitive,
NULL);
if (item == open_item) {
gtk_widget_set_sensitive (copy_item, !sensitive);
/*g_object_set (G_OBJECT (copy_item), "visible", !visible, NULL);*/
}
}
static GtkWidget *
test_setup_menu (void)
{
GtkWidget *menubar;
GtkWidget *menu;
GtkWidget *item;
menubar = gtk_menu_bar_new ();
item = gtk_menu_item_new_with_label ("File");
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
item = gtk_menu_item_new_with_label ("Open");
open_item = item;
g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "open");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_label ("Quit");
g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "quit");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_label ("Edit");
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
item = gtk_menu_item_new_with_label ("Copy");
copy_item = item;
g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "copy");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_label ("Paste");
g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "paste");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_label ("Help");
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
item = gtk_menu_item_new_with_label ("About");
g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "about");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
return menubar;
}
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *menubar;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
menubar = test_setup_menu ();
gtk_box_pack_start (GTK_BOX (vbox),
menubar,
FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Some window content here"),
TRUE, TRUE, 0);
gtk_widget_show_all (window);
gtk_widget_hide (menubar);
sync_menu_takeover_menu (GTK_MENU_SHELL (menubar));
gtk_main ();
return 0;
}

View file

@ -0,0 +1,78 @@
import gtk, syncmenu
open_item = None
copy_item = None
def menu_item_activate_cb(item, user_data):
global open_item, copy_item
print "Item activated: %s" % user_data
#g_object_get (G_OBJECT (copy_item),
# "visible", &visible,
# "sensitive", &sensitive,
# NULL)
#if (item == open_item) {
#gtk_widget_set_sensitive (copy_item, !sensitive)
#/*g_object_set (G_OBJECT (copy_item), "visible", !visible, NULL)*/
def test_setup_menu():
global open_item, copy_item
menubar = gtk.MenuBar()
item = gtk.MenuItem("File")
menubar.append(item)
menu = gtk.Menu()
item.set_submenu(menu)
item = gtk.MenuItem("Open")
open_item = item
item.connect("activate", menu_item_activate_cb, "open")
menu.append(item)
item = gtk.MenuItem("Quit")
item.connect("activate", menu_item_activate_cb, "quit")
menu.append(item)
item = gtk.MenuItem("Edit")
menubar.append(item)
menu = gtk.Menu()
item.set_submenu(menu)
item = gtk.MenuItem("Copy")
copy_item = item
item.connect("activate", menu_item_activate_cb, "copy")
menu.append(item)
item = gtk.MenuItem("Paste")
item.connect("activate", menu_item_activate_cb, "paste")
menu.append(item)
item = gtk.MenuItem("Help")
menubar.append(item)
menu = gtk.Menu()
item.set_submenu(menu)
item = gtk.MenuItem("About")
item.connect("activate", menu_item_activate_cb, "about")
menu.append(item)
return menubar
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_default_size(400, 300)
window.connect("destroy", gtk.main_quit, None)
vbox = gtk.VBox(False, 0)
window.add(vbox)
menubar = test_setup_menu()
vbox.pack_start(menubar, False, True, 0)
vbox.pack_start(gtk.Label("Some window content here"), True, True, 0)
window.show_all()
menubar.hide()
syncmenu.takeover_menu(menubar)
gtk.main()

View file

@ -61,6 +61,11 @@ if dbus_support.supported:
from music_track_listener import MusicTrackListener
import dbus
import sys
if sys.platform == 'darwin':
from osx import syncmenu
#(icon, name, type, jid, account, editable, second pixbuf)
(
C_IMG, # image to show state (online, new message etc)
@ -903,9 +908,17 @@ class RosterWindow:
return advanced_menuitem_menu
def make_menu(self):
'''create the main window's menus'''
if not self.actions_menu_needs_rebuild:
def set_actions_menu_needs_rebuild(self):
self.actions_menu_needs_rebuild = True
# Force the rebuild now since the on_activates on the menu itself does
# not work with the os/x top level menubar
if sys.platform == 'darwin':
self.make_menu(force = True)
return
def make_menu(self, force = False):
'''create the main window\'s menus'''
if not force and not self.actions_menu_needs_rebuild:
return
new_chat_menuitem = self.xml.get_widget('new_chat_menuitem')
single_message_menuitem = self.xml.get_widget('send_single_message_menuitem')
@ -1171,6 +1184,9 @@ class RosterWindow:
advanced_menuitem.set_submenu(advanced_sub_menu)
advanced_sub_menu.show_all()
if sys.platform == 'darwin':
syncmenu.takeover_menu(self.xml.get_widget('menubar'))
self.actions_menu_needs_rebuild = False
def _add_history_manager_menuitem(self, menu):
@ -1973,7 +1989,7 @@ class RosterWindow:
dialogs.AddSpecialNotificationDialog(jid)
def make_contact_menu(self, event, iter):
'''Make contact's popup menu'''
'''Make contact\'s popup menu'''
model = self.tree.get_model()
jid = model[iter][C_JID].decode('utf-8')
tree_path = model.get_path(iter)
@ -2206,7 +2222,7 @@ class RosterWindow:
status_menuitems.append(status_menuitem)
if len(contacts) > 1: # several resources
def resources_submenu(action, room_jid = None, room_account = None):
''' Build a submenu with contact's resources.
''' Build a submenu with contact\'s resources.
room_jid and room_account are for action self.on_invite_to_room '''
sub_menu = gtk.Menu()
@ -2767,7 +2783,7 @@ class RosterWindow:
menu.popup(None, None, None, event_button, event.time)
def make_transport_menu(self, event, iter):
'''Make transport's popup menu'''
'''Make transport\'s popup menu'''
model = self.tree.get_model()
jid = model[iter][C_JID].decode('utf-8')
path = model.get_path(iter)
@ -3806,6 +3822,10 @@ class RosterWindow:
self.chg_contact_status(contact, 'offline', '', account)
self.actions_menu_needs_rebuild = True
self.update_status_combobox()
# Force the rebuild now since the on_activates on the menu itself does
# not work with the os/x top level menubar
if sys.platform == 'darwin':
self.make_menu(force = True)
def new_private_chat(self, gc_contact, account, session = None):
contact = gajim.contacts.contact_from_gc_contact(gc_contact)
@ -4164,6 +4184,9 @@ class RosterWindow:
gtk.main_quit()
def on_quit_menuitem_activate(self, widget):
gobject.idle_add(self.on_quit_menuitem_activate_real, widget)
def on_quit_menuitem_activate_real(self, widget):
accounts = gajim.connections.keys()
get_msg = False
for acct in accounts:
@ -5154,6 +5177,52 @@ class RosterWindow:
self._last_selected_contact.append((jid, account))
self.draw_contact(jid, account, selected = True)
def setup_for_osx(self):
# Massage the GTK menu so it will match up to the OS/X nib style menu
# when passed to sync-menu and merged
main_menu = self.xml.get_widget('menubar')
app_item = gtk.MenuItem('Gajim')
main_menu.insert(app_item, 0)
win_item = gtk.MenuItem('Window')
main_menu.insert(win_item, 4)
actions_menu = self.xml.get_widget('actions_menu_menu')
quit_item = self.xml.get_widget('quit_menuitem')
actions_menu.remove(quit_item)
actions_menu.remove(self.xml.get_widget('separator1'))
edit_menu = self.xml.get_widget('edit_menu_menu')
edit_menu.remove(self.xml.get_widget('preferences_menuitem'))
edit_menu.remove(self.xml.get_widget('separator2'))
help_menu = self.xml.get_widget('help_menu_menu')
about_item = self.xml.get_widget('about_menuitem')
help_menu.remove(about_item)
# Build up App menu
app_menu = gtk.Menu()
app_item.set_submenu(app_menu)
app_menu.append(about_item)
app_menu.append(gtk.MenuItem('__SKIP__'))
prefs_item = gtk.MenuItem('Preferences...')
prefs_item.connect("activate", self.on_preferences_menuitem_activate)
accels = gtk.AccelGroup()
self.xml.get_widget('roster_window').add_accel_group(accels)
prefs_item.add_accelerator('activate', accels, ord(','),
gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
app_menu.append(prefs_item)
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(gtk.MenuItem('__SKIP__'))
app_menu.append(quit_item)
app_menu.show_all()
# Do the merge baby!
syncmenu.takeover_menu(main_menu)
self.make_menu(force = True)
# Hide the GTK menubar itself and let the OS/X menubar do its thing
self.xml.get_widget('menubar').hide()
return
def __init__(self):
self.xml = gtkgui_helpers.get_glade('roster_window.glade')
self.window = self.xml.get_widget('roster_window')
@ -5370,3 +5439,6 @@ class RosterWindow:
# Create zeroconf in config file
zeroconf = common.zeroconf.connection_zeroconf.ConnectionZeroconf(
gajim.ZEROCONF_ACC_NAME)
if sys.platform == 'darwin':
self.setup_for_osx()

View file

@ -19,12 +19,16 @@
## along with Gajim. If not, see <http://www.gnu.org/licenses/>.
##
import sys
import gtk
import systray
from common import gajim
from common import helpers
if sys.platform == 'darwin':
import osx
class StatusIcon(systray.Systray):
'''Class for the notification area icon'''
#FIXME: when we migrate to GTK 2.10 stick only to this class
@ -44,13 +48,15 @@ class StatusIcon(systray.Systray):
self.on_status_icon_right_clicked)
self.set_img()
self.status_icon.props.visible = True
self.status_icon.set_visible(True)
self.subscribe_events()
def on_status_icon_right_clicked(self, widget, event_button, event_time):
self.make_menu(event_button, event_time)
def hide_icon(self):
self.status_icon.props.visible = False
self.status_icon.set_visible(False)
self.unsubscribe_events()
def on_status_icon_left_clicked(self, widget):
self.on_left_click()
@ -62,16 +68,18 @@ class StatusIcon(systray.Systray):
text = helpers.get_notification_icon_tooltip_text()
self.status_icon.set_tooltip(text)
if gajim.events.get_nb_systray_events():
if sys.platform == 'darwin':
osx.nsapp.requestUserAttention()
state = 'event'
self.status_icon.props.blinking = True
self.status_icon.set_blinking(True)
else:
state = self.status
self.status_icon.props.blinking = False
self.status_icon.set_blinking(False)
#FIXME: do not always use 16x16 (ask actually used size and use that)
image = gajim.interface.roster.jabber_state_images['16'][state]
if image.get_storage_type() == gtk.IMAGE_PIXBUF:
self.status_icon.props.pixbuf = image.get_pixbuf()
self.status_icon.set_from_pixbuf(image.get_pixbuf())
#FIXME: oops they forgot to support GIF animation?
#or they were lazy to get it to work under Windows! WTF!
#elif image.get_storage_type() == gtk.IMAGE_ANIMATION: