1 # This file is part of MyPaint.
2 # Copyright (C) 2007-2009 by Martin Renold <martinxyz@gmx.ch>
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
10 This script does all the platform dependent stuff. Its main task is
11 to figure out where the python modules are.
18 lib_shared='share/mypaint/'
19 # note: some distros use lib64 instead, they have to edit this...
20 lib_compiled='lib/mypaint/'
22 scriptdir=os.path.dirname(sys.argv[0])
24 # this script is installed as $prefix/bin. We just need $prefix to continue.
25 #pwd=os.getcwd() # why????
26 #dir_install=os.path.normpath(join(pwd,scriptdir)) # why????
27 dir_install=scriptdir # same, except maybe if scriptdir is relative...
29 if os.path.basename(dir_install) == 'bin':
30 prefix=os.path.dirname(dir_install)
31 libpath=join(prefix, lib_shared)
32 libpath_compiled = join(prefix, lib_compiled)
33 sys.path.insert(0, libpath)
34 sys.path.insert(0, libpath_compiled)
35 localepath = join(prefix, 'share/locale')
37 # we are not installed
42 try: # just for a nice error message
43 from lib import mypaintlib
46 print "We are not correctly installed or compiled!"
47 print 'script: "%s"' % sys.argv[0]
49 print 'deduced prefix: "%s"' % prefix
50 print 'lib_shared: "%s"' % libpath
51 print 'lib_compiled: "%s"' % libpath_compiled
56 if not os.path.isdir(join(datapath, 'brushes')):
57 print 'Default brush collection not found! It should have been here:'
61 homepath = os.path.expanduser('~')
63 confpath = join(prefix, 'UserData')
65 confpath = join(homepath, '.mypaint/')
67 return datapath, confpath, localepath
70 # This helps on slow PCs where the python overhead dominates.
71 # (30% higher framerate measured on 533MHz CPU; startup slowdown below 20%)
72 # Note: python -O -O does not help.
73 if os.name in ('nt', 'ce'):
74 # reported to be broken on Windows
79 print 'Psyco being used'
83 if __name__ == '__main__':
86 datapath, confpath, localepath = get_paths()
88 # must be done before importing any translated python modules
89 # (to get global strings translated, especially brushsettings.py)
91 gettext.bindtextdomain("mypaint", localepath)
92 gettext.textdomain("mypaint")
95 main.main(datapath, confpath)