Changeset 973

Show
Ignore:
Timestamp:
10/25/08 14:13:15 (2 months ago)
Author:
gbooker
Message:

A far cleaner way to set svn revisions in the info.plist. Also, provides defines to put it in the C code if we desire

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Perian.xcodeproj/project.pbxproj

    r972 r973  
    1818                        name = "ffmpeg Static Libraries"; 
    1919                        productName = "Version Macros and Static Libraries"; 
     20                }; 
     21                F5121EB70EB3A54A0048EF67 /* Make SVN Rev */ = { 
     22                        isa = PBXAggregateTarget; 
     23                        buildConfigurationList = F5121EBB0EB3A5680048EF67 /* Build configuration list for PBXAggregateTarget "Make SVN Rev" */; 
     24                        buildPhases = ( 
     25                                F5121EB60EB3A54A0048EF67 /* ShellScript */, 
     26                        ); 
     27                        dependencies = ( 
     28                        ); 
     29                        name = "Make SVN Rev"; 
     30                        productName = "Make SVN Rev"; 
    2031                }; 
    2132                F59E09EA0A670E3D0019A3F0 /* Debug In QuickTime Player */ = { 
     
    318329                        remoteGlobalIDString = 61CB11760ACDF4D8007994BD; 
    319330                        remoteInfo = matroska; 
     331                }; 
     332                F5121EBC0EB3A5AE0048EF67 /* PBXContainerItemProxy */ = { 
     333                        isa = PBXContainerItemProxy; 
     334                        containerPortal = 089C1669FE841209C02AAC07 /* Project object */; 
     335                        proxyType = 1; 
     336                        remoteGlobalIDString = F5121EB70EB3A54A0048EF67 /* Make SVN Rev */; 
     337                        remoteInfo = "Make SVN Rev"; 
    320338                }; 
    321339                F59E09EB0A670E420019A3F0 /* PBXContainerItemProxy */ = { 
     
    12901308                                11A70ABF0A3D0105002058D4 /* Frameworks */, 
    12911309                                11A70ADC0A3D0156002058D4 /* Rez */, 
    1292                                 11BA3E510A61F2CE008AF206 /* ShellScript */, 
    12931310                        ); 
    12941311                        buildRules = ( 
     
    13001317                                61CB12120ACE0FB1007994BD /* PBXTargetDependency */, 
    13011318                                3DB3517F0BCF004B009357B8 /* PBXTargetDependency */, 
     1319                                F5121EBD0EB3A5AE0048EF67 /* PBXTargetDependency */, 
    13021320                        ); 
    13031321                        name = Perian; 
     
    14191437                                F5CFD2DB0B5012AA00616865 /* A52Codec */, 
    14201438                                116C42510B5041BD00FB0738 /* PerianUpdateChecker */, 
     1439                                F5121EB70EB3A54A0048EF67 /* Make SVN Rev */, 
    14211440                        ); 
    14221441                }; 
     
    15321551                        shellScript = "source $SRCROOT/createStaticLibs.sh"; 
    15331552                }; 
    1534                 11BA3E510A61F2CE008AF206 /* ShellScript */ = { 
    1535                         isa = PBXShellScriptBuildPhase; 
    1536                         buildActionMask = 2147483647; 
    1537                         files = ( 
    1538                         ); 
    1539                         inputPaths = ( 
    1540                         ); 
    1541                         outputPaths = ( 
    1542                         ); 
    1543                         runOnlyForDeploymentPostprocessing = 0; 
    1544                         shellPath = /bin/sh; 
    1545                         shellScript = "# Xcode auto-versioning script for Subversion\n# by Axel Andersson, modified by Daniel Jalkut to add\n# \"--revision HEAD\" to the svn info line, which allows\n# the latest revision to always be used.\n\n# further modified by Augie Fackler to be gross and sh-based in places\n# so that you can have svn installed anywhere\nPATH=$PATH:/usr/local/bin:/usr/bin:/sw/bin:/opt/local/bin\nffmpeg_rev=`cat \"$SYMROOT/Universal/buildid\"`\nREV=`svnversion -n ./`\necho $REV\n\necho | perl <<EOF\nuse strict;\ndie \"\\$0: Must be run from Xcode\" unless \\$ENV{\"BUILT_PRODUCTS_DIR\"};\n\nmy \\$INFO = \"\\$ENV{BUILT_PRODUCTS_DIR}/\\$ENV{WRAPPER_NAME}/Contents/Info.plist\";\n\nmy \\$version = \"$REV\";\n\n# (Match the last group of digits and optional letter M/S):\n\n# ugly yet functional (barely) regex by Daniel Jalkut:\n#$version =~ s/([\\d]*:)(\\d+[M|S]*).*/$2/;\n\n# better yet still functional regex via Kevin \"Regex Nerd\" Ballard\n(\\$version =~ m/\\d+[MS]*\\$/) && (\\$version = \\$&);\n\nopen(FH, \"\\$INFO\") or die \"\\$0: \\$INFO: $!\";\nmy \\$info = join(\"\", <FH>);\nclose(FH);\n\n#\\$info =~ s/([\\t ]+<key>CFBundleVersion<\\/key>\\n[\\t ]+<string>).*?(<\\/string>)/\\$1\\$version\\$2/;\n\\$info =~ s/SVNREVISION/\\$version/;\n\\$info =~ s/FFMPEGREVISION/$ffmpeg_rev/;\n\nopen(FH, \">\\$INFO\") or die \"\\$0: \\$INFO: \\$!\";\nprint FH \\$info;\nclose(FH);\nEOF\n"; 
    1546                 }; 
    15471553                3D0B9E090EB37E8300C4F556 /* ShellScript */ = { 
    15481554                        isa = PBXShellScriptBuildPhase; 
     
    15701576                        shellPath = /bin/sh; 
    15711577                        shellScript = "pushd a52codec/build\nln -s Deployment+Debug Development || true\nln -s Development Deployment || true\nln -s Deployment Deployment+Debug || true\npopd"; 
     1578                }; 
     1579                F5121EB60EB3A54A0048EF67 /* ShellScript */ = { 
     1580                        isa = PBXShellScriptBuildPhase; 
     1581                        buildActionMask = 2147483647; 
     1582                        files = ( 
     1583                        ); 
     1584                        inputPaths = ( 
     1585                                "$(SRCROOT)/.svn/dir-wcprops", 
     1586                                "$(SRCROOT)/ffmpeg/.svn/dir-wcprops", 
     1587                        ); 
     1588                        outputPaths = ( 
     1589                                "$(TARGET_BUILD_DIR)/include/SVNRevision.h", 
     1590                        ); 
     1591                        runOnlyForDeploymentPostprocessing = 0; 
     1592                        shellPath = /bin/sh; 
     1593                        shellScript = "source scripts/getSVNRevision.sh"; 
    15721594                }; 
    15731595                F535FCD50B4D605900F00D14 /* ShellScript */ = { 
     
    17651787                        targetProxy = 61CB12110ACE0FB1007994BD /* PBXContainerItemProxy */; 
    17661788                }; 
     1789                F5121EBD0EB3A5AE0048EF67 /* PBXTargetDependency */ = { 
     1790                        isa = PBXTargetDependency; 
     1791                        target = F5121EB70EB3A54A0048EF67 /* Make SVN Rev */; 
     1792                        targetProxy = F5121EBC0EB3A5AE0048EF67 /* PBXContainerItemProxy */; 
     1793                }; 
    17671794                F59E09EC0A670E420019A3F0 /* PBXTargetDependency */ = { 
    17681795                        isa = PBXTargetDependency; 
     
    19081935                                ); 
    19091936                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     1937                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; 
     1938                                INFOPLIST_PREFIX_HEADER = "$(TARGET_BUILD_DIR)/include/SVNRevision.h"; 
     1939                                INFOPLIST_PREPROCESS = YES; 
    19101940                                INSTALL_PATH = "$(HOME)/Library/QuickTime"; 
    19111941                                LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 
     
    19311961                                EXPORTED_SYMBOLS_FILE = "$(SOURCE_ROOT)/exportedSymbols"; 
    19321962                                GCC_ALTIVEC_EXTENSIONS = YES; 
     1963                                GCC_DYNAMIC_NO_PIC = YES; 
    19331964                                GCC_ENABLE_FIX_AND_CONTINUE = NO; 
    19341965                                GCC_ENABLE_OBJC_GC = YES; 
     
    19491980                                ); 
    19501981                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     1982                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; 
     1983                                INFOPLIST_PREFIX_HEADER = "$(TARGET_BUILD_DIR)/include/SVNRevision.h"; 
     1984                                INFOPLIST_PREPROCESS = YES; 
    19511985                                INSTALL_PATH = "$(HOME)/Library/QuickTime"; 
    19521986                                LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 
     
    20772111                                ); 
    20782112                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     2113                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; 
     2114                                INFOPLIST_PREFIX_HEADER = "$(TARGET_BUILD_DIR)/include/SVNRevision.h"; 
     2115                                INFOPLIST_PREPROCESS = YES; 
    20792116                                INSTALL_PATH = "$(HOME)/Library/QuickTime"; 
    20802117                                LIBRARY_SEARCH_PATHS = $SYMROOT/Universal; 
     
    23602397                        name = Deployment; 
    23612398                }; 
     2399                F5121EB80EB3A54A0048EF67 /* Development */ = { 
     2400                        isa = XCBuildConfiguration; 
     2401                        buildSettings = { 
     2402                                COPY_PHASE_STRIP = NO; 
     2403                                GCC_DYNAMIC_NO_PIC = NO; 
     2404                                GCC_OPTIMIZATION_LEVEL = 0; 
     2405                                PRODUCT_NAME = "Make SVN Rev"; 
     2406                        }; 
     2407                        name = Development; 
     2408                }; 
     2409                F5121EB90EB3A54A0048EF67 /* Deployment */ = { 
     2410                        isa = XCBuildConfiguration; 
     2411                        buildSettings = { 
     2412                                COPY_PHASE_STRIP = YES; 
     2413                                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 
     2414                                GCC_ENABLE_FIX_AND_CONTINUE = NO; 
     2415                                PRODUCT_NAME = "Make SVN Rev"; 
     2416                                ZERO_LINK = NO; 
     2417                        }; 
     2418                        name = Deployment; 
     2419                }; 
     2420                F5121EBA0EB3A54A0048EF67 /* Deployment+Debug */ = { 
     2421                        isa = XCBuildConfiguration; 
     2422                        buildSettings = { 
     2423                                PRODUCT_NAME = "Make SVN Rev"; 
     2424                        }; 
     2425                        name = "Deployment+Debug"; 
     2426                }; 
    23622427                F59E0A0C0A670E950019A3F0 /* Development */ = { 
    23632428                        isa = XCBuildConfiguration; 
     
    25672632                        defaultConfigurationName = Development; 
    25682633                }; 
     2634                F5121EBB0EB3A5680048EF67 /* Build configuration list for PBXAggregateTarget "Make SVN Rev" */ = { 
     2635                        isa = XCConfigurationList; 
     2636                        buildConfigurations = ( 
     2637                                F5121EB80EB3A54A0048EF67 /* Development */, 
     2638                                F5121EB90EB3A54A0048EF67 /* Deployment */, 
     2639                                F5121EBA0EB3A54A0048EF67 /* Deployment+Debug */, 
     2640                        ); 
     2641                        defaultConfigurationIsVisible = 0; 
     2642                        defaultConfigurationName = Development; 
     2643                }; 
    25692644                F59E0A0B0A670E950019A3F0 /* Build configuration list for PBXAggregateTarget "Debug In QuickTime Player" */ = { 
    25702645                        isa = XCConfigurationList;