Ticket #38228: patch_use_cc_and_ldflags_install_icons_and_translations.diff

File patch_use_cc_and_ldflags_install_icons_and_translations.diff, 9.8 KB (added by johanmattssonm (Johan Mattsson), 12 years ago)
  • scripts/macport_install.py

    old new  
    3939install ('build/bin/birdfont-export', '/bin')   
    4040install ('build/bin/libbirdfont.dylib', '/lib')
    4141
     42for file in os.listdir('./layout'):
     43        install ('layout/' + file, '/share/birdfont/layout')
     44
     45for file in os.listdir('./icons'):
     46        install ('icons/' + file, '/share/birdfont/icons')
     47       
     48for lang_dir in glob.glob('build/locale/*'):
     49        lc = lang_dir.replace ('build/locale/', "")
     50        install ('build/locale/' + lc + '/LC_MESSAGES/birdfont.mo', '/share/locale/' + lc + '/LC_MESSAGES' );
     51               
    4252# install application launcher
    4353if options.app:
    4454        subprocess.check_call ('mkdir -p ' + dest + '/Applications/', shell=True)
  • scripts/macport_build.py

    old new  
    55import subprocess
    66import sys
    77from optparse import OptionParser
     8from translations import compile_translations
    89
    910import configfile
    1011
     
    1516                print("Error: " + cmd)
    1617                exit(1)
    1718
    18 def build (prefix):
     19def build(prefix, cc, cflags, ldflags):
     20        compile_translations ()
     21       
    1922        #libbirdfont
    2023        run("mkdir -p build/libbirdfont")
    2124        run("mkdir -p build/bin")
    2225
    23         run("valac -C --basedir build/libbirdfont/ --enable-experimental-non-null --enable-experimental --define=MAC --library libbirdfont -H build/libbirdfont/birdfont.h libbirdfont/* --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0")
     26        run("""valac \
     27                -C \
     28                --basedir build/libbirdfont/ \
     29                --enable-experimental-non-null \
     30                --enable-experimental \
     31                --define=MAC \
     32                --library libbirdfont \
     33                -H build/libbirdfont/birdfont.h \
     34                libbirdfont/* \
     35                --pkg libxml-2.0 \
     36                --pkg gio-2.0 \
     37                --pkg cairo \
     38                --pkg libsoup-2.4 \
     39                --pkg gdk-pixbuf-2.0 \
     40                --pkg webkit-1.0""")
    2441        run("cp libbirdfont/*.c build/libbirdfont/")
    2542
    26         run("""gcc -c build/libbirdfont/*.c -shared -fno-common -fPIC -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -I ./build/mac/birdfont""")
     43        run(cc + " " + cflags + """ \
     44                -c build/libbirdfont/*.c \
     45                -fno-common \
     46                -fPIC \
     47                -D 'GETTEXT_PACKAGE="birdfont"' \
     48                $(pkg-config --cflags libxml-2.0) \
     49                $(pkg-config --cflags gio-2.0) \
     50                $(pkg-config --cflags cairo) \
     51                $(pkg-config --cflags glib-2.0) \
     52                $(pkg-config --cflags gdk-pixbuf-2.0) \
     53                $(pkg-config --cflags webkit-1.0) \
     54                -I ./build/mac/birdfont""")
    2755        run("mv ./*.o build/libbirdfont/ ")
    2856
    29         run("gcc -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,/usr/local/lib/libbirdfont.dylib -shared build/libbirdfont/*.o $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) -shared -o libbirdfont.dylib")
     57        run(cc + " " + ldflags + """ \
     58                -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.0,-current_version,1.0,-install_name,""" + prefix + """/lib/libbirdfont.dylib -shared build/libbirdfont/*.o \
     59                 $(pkg-config --libs libxml-2.0) \
     60                 $(pkg-config --libs gio-2.0) \
     61                 $(pkg-config --libs cairo) \
     62                 $(pkg-config --libs glib-2.0) \
     63                 $(pkg-config --libs gdk-pixbuf-2.0) \
     64                 $(pkg-config --libs webkit-1.0) \
     65                 -shared -o libbirdfont.dylib""")
    3066        run("mv libbirdfont.dylib build/bin/")
    31         run ("install_name_tool -id " + prefix + "/lib/libbirdfont.dylib build/bin/libbirdfont.dylib")
    3267
    3368        # birdfont
    3469        run("mkdir -p build/birdfont")
    3570       
    36         run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")
     71        run("""valac \
     72                -C \
     73                --enable-experimental-non-null \
     74                --enable-experimental \
     75                --define=MAC birdfont/* \
     76                --vapidir=./ \
     77                --pkg libxml-2.0 \
     78                --pkg gio-2.0  \
     79                --pkg cairo \
     80                --pkg libsoup-2.4 \
     81                --pkg gdk-pixbuf-2.0 \
     82                --pkg webkit-1.0 \
     83                --pkg gtk+-2.0\
     84                --pkg libbirdfont""")
    3785        run("mv birdfont/*.c build/birdfont/")
    3886
    39         run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")
     87        run(cc + " " + cflags + """\
     88                -c ./build/libbirdfont/birdfont.h build/birdfont/*.c \
     89                -D 'GETTEXT_PACKAGE="birdfont"' \
     90                $(pkg-config --cflags libxml-2.0) \
     91                $(pkg-config --cflags gio-2.0) \
     92                $(pkg-config --cflags cairo) \
     93                $(pkg-config --cflags glib-2.0) \
     94                $(pkg-config --cflags gdk-pixbuf-2.0) \
     95                $(pkg-config --cflags webkit-1.0) \
     96                -I ./build/libbirdfont/""")
    4097        run("mv ./*.o build/birdfont/")
    4198
    42         run("gcc build/birdfont/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont")
     99        run(cc + " " + ldflags + """ \
     100                build/birdfont/*.o ./build/bin/libbirdfont.dylib \
     101                $(pkg-config --libs libxml-2.0) \
     102                $(pkg-config --libs gio-2.0) \
     103                $(pkg-config --libs cairo) \
     104                $(pkg-config --libs glib-2.0) \
     105                $(pkg-config --libs gdk-pixbuf-2.0) \
     106                $(pkg-config --libs webkit-1.0) \
     107                $(pkg-config --libs gtk+-2.0) \
     108                -o ./build/bin/birdfont""")
    43109
    44110        # birdfont-export
    45111        run("mkdir -p build/birdfont-export")
    46112       
    47         run("valac -C --enable-experimental-non-null --enable-experimental --define=MAC birdfont-export/* --vapidir=./ --pkg libxml-2.0 --pkg gio-2.0  --pkg cairo --pkg libsoup-2.4 --pkg gdk-pixbuf-2.0 --pkg webkit-1.0 --pkg gtk+-2.0 --pkg libbirdfont")
     113        run("""valac \
     114                -C \
     115                --enable-experimental-non-null \
     116                --enable-experimental \
     117                --define=MAC birdfont-export/* \
     118                --vapidir=./ \
     119                --pkg libxml-2.0 \
     120                --pkg gio-2.0  \
     121                --pkg cairo \
     122                --pkg libsoup-2.4 \
     123                --pkg gdk-pixbuf-2.0 \
     124                --pkg webkit-1.0 \
     125                --pkg gtk+-2.0 \
     126                --pkg libbirdfont""")
    48127        run("mv birdfont-export/*.c build/birdfont-export/")
    49128
    50         run("""gcc -c ./build/libbirdfont/birdfont.h build/birdfont-export/*.c -D 'GETTEXT_PACKAGE="birdfont"' $(pkg-config --cflags libxml-2.0) $(pkg-config --cflags gio-2.0) $(pkg-config --cflags cairo) $(pkg-config --cflags glib-2.0) $(pkg-config --cflags gdk-pixbuf-2.0) $(pkg-config --cflags webkit-1.0) -I ./build/libbirdfont/""")
     129        run(cc + " " + cflags + """ \
     130                -c ./build/libbirdfont/birdfont.h build/birdfont-export/*.c \
     131                -D 'GETTEXT_PACKAGE="birdfont"' \
     132                $(pkg-config --cflags libxml-2.0) \
     133                $(pkg-config --cflags gio-2.0) \
     134                $(pkg-config --cflags cairo) \
     135                $(pkg-config --cflags glib-2.0) \
     136                $(pkg-config --cflags gdk-pixbuf-2.0) \
     137                $(pkg-config --cflags webkit-1.0) \
     138                -I ./build/libbirdfont/""")
    51139        run("mv ./*.o build/birdfont-export/")
    52140
    53         run("gcc build/birdfont-export/*.o ./build/bin/libbirdfont.dylib $(pkg-config --cflags --libs libxml-2.0) $(pkg-config --cflags --libs gio-2.0) $(pkg-config --cflags --libs cairo) $(pkg-config --cflags --libs glib-2.0) $(pkg-config --cflags --libs gdk-pixbuf-2.0) $(pkg-config --cflags --libs webkit-1.0) $(pkg-config --cflags --libs gtk+-2.0) -o ./build/bin/birdfont-export")
     141        run(cc + " " + ldflags + " \
     142                build/birdfont-export/*.o \
     143                ./build/bin/libbirdfont.dylib \
     144                $(pkg-config --libs libxml-2.0) \
     145                $(pkg-config --libs gio-2.0) \
     146                $(pkg-config --libs cairo) \
     147                $(pkg-config --libs glib-2.0) \
     148                $(pkg-config --libs gdk-pixbuf-2.0) \
     149                $(pkg-config --libs webkit-1.0) \
     150                $(pkg-config --libs gtk+-2.0) \
     151                -o ./build/bin/birdfont-export")
    54152
    55153        run("touch build/installed")
    56154        run("touch build/configured")
     155       
    57156
    58 def build_app ():
     157def build_app (prefix):
    59158        # application launcher
    60159        run("mkdir -p build/BirdFont.app")
    61160        run("mkdir -p build/BirdFont.app/Contents")
    62161        run("mkdir -p build/BirdFont.app/Contents/MacOs")
    63162        run("mkdir -p build/BirdFont.app/Contents/Resources")
    64 
    65         run("cp resources/mac/birdfont.sh build/BirdFont.app/Contents/MacOs")
     163       
     164        startup = open ('build/BirdFont.app/Contents/MacOs/birdfont.sh', 'w+')
     165        startup.write ("#!/bin/bash\n")
     166        startup.write ("cd \"${0%/*}\"\n")
     167        startup.write (prefix + "/bin/birdfont\n")
     168       
    66169        run("cp resources/mac/Info.plist build/BirdFont.app/Contents/")
    67170        run("cp resources/mac/birdfont.icns build/BirdFont.app/Contents/Resources")
    68171
    69172parser = OptionParser()
    70 parser.add_option ("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")
    71 parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")
     173parser.add_option("-p", "--prefix", dest="prefix", help="install prefix", metavar="PREFIX")
     174parser.add_option("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")
     175parser.add_option("-c", "--cc", dest="cc", help="select the C compiler", metavar="CC")
     176parser.add_option("-f", "--cflags", dest="cflags", help="set compiler flags", metavar="CFLAGS")
     177parser.add_option("-l", "--ldflags", dest="ldflags", help="set linker flags", metavar="LDFLAGS")
    72178
    73179(options, args) = parser.parse_args()
    74180
    75181if not options.prefix:
    76182        options.prefix = "/opt/local"
     183if not options.cc:
     184        options.cc = "gcc"
     185if not options.cflags:
     186        options.cflags = ""
     187if not options.ldflags:
     188        options.ldflags = ""
    77189
    78 build (options.prefix)
    79 build_app ()
     190build_app (options.prefix)     
     191build (options.prefix, options.cc, options.cflags, options.ldflags)
    80192
    81193
    82194