aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--FishsFish.xcodeproj/project.pbxproj1030
-rw-r--r--Makefile.in86
-rwxr-xr-xbuild_tools/make_tarball.sh8
-rw-r--r--configure.ac2
-rw-r--r--etc/config.fish (renamed from etc/config.fish.in)1
-rw-r--r--fish.cpp174
-rwxr-xr-xinternalize_scripts.py35
-rw-r--r--osx/Info.plist33
-rw-r--r--osx/launch_fish.scptbin0 -> 3982 bytes
-rw-r--r--osx/osx_config.h218
-rw-r--r--osx/osx_fish_launcher.m98
-rw-r--r--share/config.fish (renamed from share/config.fish.in)29
13 files changed, 1597 insertions, 118 deletions
diff --git a/.gitignore b/.gitignore
index 217b1652..5906847e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,6 @@ configure
doc.h
doc_src/commands.hdr
doc_src/index.hdr
-etc/config.fish
po/*.gmo
fish
fish.spec
diff --git a/FishsFish.xcodeproj/project.pbxproj b/FishsFish.xcodeproj/project.pbxproj
index c74623f5..d00a84f6 100644
--- a/FishsFish.xcodeproj/project.pbxproj
+++ b/FishsFish.xcodeproj/project.pbxproj
@@ -6,6 +6,282 @@
objectVersion = 46;
objects = {
+/* Begin PBXAggregateTarget section */
+ D0F019EC15A976F30034B3B1 /* fish_directory_tree */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = D0F019ED15A976F30034B3B1 /* Build configuration list for PBXAggregateTarget "fish_directory_tree" */;
+ buildPhases = (
+ D0F019F015A977010034B3B1 /* CopyFiles */,
+ D0F019F715A977A00034B3B1 /* CopyFiles */,
+ D0F019FC15A977B40034B3B1 /* CopyFiles */,
+ );
+ dependencies = (
+ D0F01A1315AA36280034B3B1 /* PBXTargetDependency */,
+ D0F01A1515AA362E0034B3B1 /* PBXTargetDependency */,
+ D0F01A1915AA36310034B3B1 /* PBXTargetDependency */,
+ D0F01A1715AA36300034B3B1 /* PBXTargetDependency */,
+ D0F01A1B15AA36330034B3B1 /* PBXTargetDependency */,
+ );
+ name = fish_directory_tree;
+ productName = base;
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ D07A7D3C15A7A38100811FC6 /* builtin_scripts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0F5E28215A7A32D00315DFF /* builtin_scripts.cpp */; };
+ D0C4FD9515A7D80700212EF1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0C4FD9415A7D7EE00212EF1 /* config.fish */; };
+ D0C4FD9615A7D80C00212EF1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD580159EE48F0024809C /* config.fish */; };
+ D0CBD57B159EE4640024809C /* completions in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD578159EE4600024809C /* completions */; };
+ D0CBD57C159EE4640024809C /* functions in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD579159EE4600024809C /* functions */; };
+ D0CBD57D159EE4640024809C /* tools in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD57A159EE4600024809C /* tools */; };
+ D0CBD587159EF0E10024809C /* launch_fish.scpt in Resources */ = {isa = PBXBuildFile; fileRef = D0CBD586159EF0E10024809C /* launch_fish.scpt */; };
+ D0D02A67159837AD008E62BD /* complete.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853713B3ACEE0099B651 /* complete.cpp */; };
+ D0D02A69159837B2008E62BD /* env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853A13B3ACEE0099B651 /* env.cpp */; };
+ D0D02A6A1598381A008E62BD /* exec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853C13B3ACEE0099B651 /* exec.cpp */; };
+ D0D02A6B1598381F008E62BD /* expand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853D13B3ACEE0099B651 /* expand.cpp */; };
+ D0D02A6C15983829008E62BD /* highlight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854713B3ACEE0099B651 /* highlight.cpp */; };
+ D0D02A6D1598382C008E62BD /* history.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854813B3ACEE0099B651 /* history.cpp */; };
+ D0D02A6E15983838008E62BD /* kill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854F13B3ACEE0099B651 /* kill.cpp */; };
+ D0D02A6F1598383E008E62BD /* parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855413B3ACEE0099B651 /* parser.cpp */; };
+ D0D02A7015983842008E62BD /* proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855713B3ACEE0099B651 /* proc.cpp */; };
+ D0D02A7115983848008E62BD /* reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855813B3ACEE0099B651 /* reader.cpp */; };
+ D0D02A721598384C008E62BD /* sanity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855913B3ACEE0099B651 /* sanity.cpp */; };
+ D0D02A7315983852008E62BD /* tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855D13B3ACEE0099B651 /* tokenizer.cpp */; };
+ D0D02A7415983857008E62BD /* wildcard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856013B3ACEE0099B651 /* wildcard.cpp */; };
+ D0D02A751598385E008E62BD /* wgetopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855F13B3ACEE0099B651 /* wgetopt.cpp */; };
+ D0D02A7615983869008E62BD /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
+ D0D02A7715983875008E62BD /* input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854A13B3ACEE0099B651 /* input.cpp */; };
+ D0D02A781598387E008E62BD /* output.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855113B3ACEE0099B651 /* output.cpp */; };
+ D0D02A7915983888008E62BD /* intern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854B13B3ACEE0099B651 /* intern.cpp */; };
+ D0D02A7A15983916008E62BD /* env_universal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853913B3ACEE0099B651 /* env_universal.cpp */; };
+ D0D02A7B15983928008E62BD /* env_universal_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853813B3ACEE0099B651 /* env_universal_common.cpp */; };
+ D0D02A7C159839D5008E62BD /* autoload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0C6FCC914CFA4B0004CE8AD /* autoload.cpp */; };
+ D0D02A7D159839D5008E62BD /* builtin_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0F3373A1506DE3C00ECEFC0 /* builtin_test.cpp */; };
+ D0D02A7E159839D5008E62BD /* color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B6B0FE14E88BA400AD6C10 /* color.cpp */; };
+ D0D02A7F159839D5008E62BD /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
+ D0D02A80159839D5008E62BD /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853B13B3ACEE0099B651 /* event.cpp */; };
+ D0D02A81159839D5008E62BD /* input_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854913B3ACEE0099B651 /* input_common.cpp */; };
+ D0D02A82159839D5008E62BD /* io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854C13B3ACEE0099B651 /* io.cpp */; };
+ D0D02A83159839D5008E62BD /* iothread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854D13B3ACEE0099B651 /* iothread.cpp */; };
+ D0D02A84159839D5008E62BD /* parse_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855213B3ACEE0099B651 /* parse_util.cpp */; };
+ D0D02A85159839D5008E62BD /* path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855513B3ACEE0099B651 /* path.cpp */; };
+ D0D02A86159839D5008E62BD /* postfork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D09B1C1914FC7B5B00F91077 /* postfork.cpp */; };
+ D0D02A87159839D5008E62BD /* screen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855A13B3ACEE0099B651 /* screen.cpp */; };
+ D0D02A88159839D5008E62BD /* signal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855C13B3ACEE0099B651 /* signal.cpp */; };
+ D0D02A89159839DF008E62BD /* fish.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854213B3ACEE0099B651 /* fish.cpp */; };
+ D0D02A8B15983CDF008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
+ D0D02A8D15983CFA008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
+ D0D02A8F15983D8F008E62BD /* parser_keywords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855313B3ACEE0099B651 /* parser_keywords.cpp */; };
+ D0D02AC215985F3F008E62BD /* fishd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854313B3ACEE0099B651 /* fishd.cpp */; };
+ D0D02AC315985F43008E62BD /* env_universal_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853813B3ACEE0099B651 /* env_universal_common.cpp */; };
+ D0D02AC415985F4D008E62BD /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
+ D0D02AC515985F5B008E62BD /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; };
+ D0D02AC615985F65008E62BD /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
+ D0D02AC715985F9D008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
+ D0D02AC815985F9F008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
+ D0D02AD615986492008E62BD /* fish_indent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853F13B3ACEE0099B651 /* fish_indent.cpp */; };
+ D0D02AD715986498008E62BD /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; };
+ D0D02AD81598649E008E62BD /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
+ D0D02AD9159864A6008E62BD /* parser_keywords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855313B3ACEE0099B651 /* parser_keywords.cpp */; };
+ D0D02ADA159864AB008E62BD /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
+ D0D02ADB159864C2008E62BD /* tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855D13B3ACEE0099B651 /* tokenizer.cpp */; };
+ D0D02ADC159864D5008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
+ D0D02ADD159864D7008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
+ D0D02AEA15986549008E62BD /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
+ D0D02AEB1598654C008E62BD /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
+ D0D02AEC1598657F008E62BD /* fish_indent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853F13B3ACEE0099B651 /* fish_indent.cpp */; };
+ D0D02AED15986584008E62BD /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; };
+ D0D02AEE15986591008E62BD /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
+ D0D02AF0159865A2008E62BD /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
+ D0D02AF1159865AC008E62BD /* parser_keywords.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855313B3ACEE0099B651 /* parser_keywords.cpp */; };
+ D0D02AF2159865B4008E62BD /* tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855D13B3ACEE0099B651 /* tokenizer.cpp */; };
+ D0D2694915983772005D9B9C /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0854413B3ACEE0099B651 /* function.cpp */; };
+ D0D2694A15983779005D9B9C /* builtin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853513B3ACEE0099B651 /* builtin.cpp */; };
+ D0F019D415A969120034B3B1 /* fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D2693C159835CA005D9B9C /* fish */; };
+ D0F019D515A969140034B3B1 /* fishd in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02ABC15985EF9008E62BD /* fishd */; };
+ D0F019D615A969160034B3B1 /* fish_indent in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AD01598642A008E62BD /* fish_indent */; };
+ D0F019D715A969190034B3B1 /* fish_pager in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AE415986537008E62BD /* fish_pager */; };
+ D0F019E215A969B40034B3B1 /* set_color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855B13B3ACEE0099B651 /* set_color.cpp */; };
+ D0F019E315A969BA0034B3B1 /* print_help.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0855613B3ACEE0099B651 /* print_help.cpp */; };
+ D0F019E415A969C00034B3B1 /* common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0853613B3ACEE0099B651 /* common.cpp */; };
+ D0F019E515A969C30034B3B1 /* color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0B6B0FE14E88BA400AD6C10 /* color.cpp */; };
+ D0F019E615A969C80034B3B1 /* wutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0A0856113B3ACEE0099B651 /* wutil.cpp */; };
+ D0F019E915A96A0A0034B3B1 /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8C15983CFA008E62BD /* libncurses.dylib */; };
+ D0F019EA15A96A0C0034B3B1 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D0D02A8A15983CDF008E62BD /* libiconv.dylib */; };
+ D0F019EB15A96AFB0034B3B1 /* set_color in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0F019DC15A969970034B3B1 /* set_color */; };
+ D0F019F115A977140034B3B1 /* fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D2693C159835CA005D9B9C /* fish */; };
+ D0F019F215A977270034B3B1 /* fishd in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02ABC15985EF9008E62BD /* fishd */; };
+ D0F019F315A977290034B3B1 /* fish_indent in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AD01598642A008E62BD /* fish_indent */; };
+ D0F019F415A9772C0034B3B1 /* fish_pager in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0D02AE415986537008E62BD /* fish_pager */; };
+ D0F019F615A977360034B3B1 /* set_color in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0F019DC15A969970034B3B1 /* set_color */; };
+ D0F019F815A977AB0034B3B1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD580159EE48F0024809C /* config.fish */; };
+ D0F019F915A977AD0034B3B1 /* completions in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD578159EE4600024809C /* completions */; };
+ D0F019FA15A977AE0034B3B1 /* functions in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD579159EE4600024809C /* functions */; };
+ D0F019FB15A977B00034B3B1 /* tools in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0CBD57A159EE4600024809C /* tools */; };
+ D0F019FD15A977CA0034B3B1 /* config.fish in CopyFiles */ = {isa = PBXBuildFile; fileRef = D0C4FD9415A7D7EE00212EF1 /* config.fish */; };
+ D0F01A0315A978910034B3B1 /* osx_fish_launcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D02AFA159871B2008E62BD /* osx_fish_launcher.m */; };
+ D0F01A0515A978A10034B3B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0CBD583159EEE010024809C /* Foundation.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ D0F01A0815A97C860034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D2693B159835CA005D9B9C;
+ remoteInfo = fish_Xcode;
+ };
+ D0F01A0A15A97C870034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02ABB15985EF9008E62BD;
+ remoteInfo = fishd;
+ };
+ D0F01A0C15A97C890034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02ACF1598642A008E62BD;
+ remoteInfo = fish_indent;
+ };
+ D0F01A0E15A97C980034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02AE315986537008E62BD;
+ remoteInfo = fish_pager;
+ };
+ D0F01A1015A97C9B0034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0F019DB15A969970034B3B1;
+ remoteInfo = set_color;
+ };
+ D0F01A1215AA36280034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D2693B159835CA005D9B9C;
+ remoteInfo = fish_shell;
+ };
+ D0F01A1415AA362E0034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02ABB15985EF9008E62BD;
+ remoteInfo = fishd;
+ };
+ D0F01A1615AA36300034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02ACF1598642A008E62BD;
+ remoteInfo = fish_indent;
+ };
+ D0F01A1815AA36310034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0D02AE315986537008E62BD;
+ remoteInfo = fish_pager;
+ };
+ D0F01A1A15AA36330034B3B1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D0A084F213B3AC130099B651 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D0F019DB15A969970034B3B1;
+ remoteInfo = set_color;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ D0CBD570159ED2A30024809C /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/share/fish;
+ dstSubfolderSpec = 7;
+ files = (
+ D0C4FD9615A7D80C00212EF1 /* config.fish in CopyFiles */,
+ D0CBD57B159EE4640024809C /* completions in CopyFiles */,
+ D0CBD57C159EE4640024809C /* functions in CopyFiles */,
+ D0CBD57D159EE4640024809C /* tools in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0CBD57F159EE4800024809C /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/etc/fish;
+ dstSubfolderSpec = 7;
+ files = (
+ D0C4FD9515A7D80700212EF1 /* config.fish in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019D215A968E40034B3B1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/bin;
+ dstSubfolderSpec = 7;
+ files = (
+ D0F019D415A969120034B3B1 /* fish in CopyFiles */,
+ D0F019D515A969140034B3B1 /* fishd in CopyFiles */,
+ D0F019D715A969190034B3B1 /* fish_pager in CopyFiles */,
+ D0F019D615A969160034B3B1 /* fish_indent in CopyFiles */,
+ D0F019EB15A96AFB0034B3B1 /* set_color in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019DA15A969970034B3B1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+ D0F019F015A977010034B3B1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/bin;
+ dstSubfolderSpec = 1;
+ files = (
+ D0F019F115A977140034B3B1 /* fish in CopyFiles */,
+ D0F019F215A977270034B3B1 /* fishd in CopyFiles */,
+ D0F019F315A977290034B3B1 /* fish_indent in CopyFiles */,
+ D0F019F415A9772C0034B3B1 /* fish_pager in CopyFiles */,
+ D0F019F615A977360034B3B1 /* set_color in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019F715A977A00034B3B1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/share/fish;
+ dstSubfolderSpec = 1;
+ files = (
+ D0F019F815A977AB0034B3B1 /* config.fish in CopyFiles */,
+ D0F019F915A977AD0034B3B1 /* completions in CopyFiles */,
+ D0F019FA15A977AE0034B3B1 /* functions in CopyFiles */,
+ D0F019FB15A977B00034B3B1 /* tools in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019FC15A977B40034B3B1 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = base/etc/fish;
+ dstSubfolderSpec = 1;
+ files = (
+ D0F019FD15A977CA0034B3B1 /* config.fish in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
D03EE83814DF88B200FC7150 /* lru.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lru.h; sourceTree = "<group>"; };
D09B1C1914FC7B5B00F91077 /* postfork.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = postfork.cpp; sourceTree = "<group>"; };
@@ -109,15 +385,113 @@
D0A0856713B3ACEE0099B651 /* xdgmimeparent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xdgmimeparent.cpp; sourceTree = "<group>"; };
D0B6B0FE14E88BA400AD6C10 /* color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = color.cpp; sourceTree = "<group>"; };
D0B6B0FF14E88BA400AD6C10 /* color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = color.h; sourceTree = "<group>"; };
+ D0C4FD9415A7D7EE00212EF1 /* config.fish */ = {isa = PBXFileReference; lastKnownFileType = text; name = config.fish; path = etc/config.fish; sourceTree = "<group>"; };
D0C6FCC914CFA4B0004CE8AD /* autoload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = autoload.cpp; sourceTree = "<group>"; };
D0C6FCCB14CFA4B7004CE8AD /* autoload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = autoload.h; sourceTree = "<group>"; };
+ D0CBD578159EE4600024809C /* completions */ = {isa = PBXFileReference; lastKnownFileType = folder; name = completions; path = share/completions; sourceTree = "<group>"; };
+ D0CBD579159EE4600024809C /* functions */ = {isa = PBXFileReference; lastKnownFileType = folder; name = functions; path = share/functions; sourceTree = "<group>"; };
+ D0CBD57A159EE4600024809C /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; name = tools; path = share/tools; sourceTree = "<group>"; };
+ D0CBD580159EE48F0024809C /* config.fish */ = {isa = PBXFileReference; lastKnownFileType = text; name = config.fish; path = share/config.fish; sourceTree = "<group>"; };
+ D0CBD583159EEE010024809C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D0CBD586159EF0E10024809C /* launch_fish.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = launch_fish.scpt; path = osx/launch_fish.scpt; sourceTree = "<group>"; };
+ D0D02A8A15983CDF008E62BD /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
+ D0D02A8C15983CFA008E62BD /* libncurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libncurses.dylib; path = usr/lib/libncurses.dylib; sourceTree = SDKROOT; };
+ D0D02A9A15985A75008E62BD /* fish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = fish.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0D02AA915985C0C008E62BD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = osx/Info.plist; sourceTree = "<group>"; };
+ D0D02ABC15985EF9008E62BD /* fishd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fishd; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0D02AD01598642A008E62BD /* fish_indent */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish_indent; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0D02AE415986537008E62BD /* fish_pager */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish_pager; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0D02AFA159871B2008E62BD /* osx_fish_launcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = osx_fish_launcher.m; path = osx/osx_fish_launcher.m; sourceTree = "<group>"; };
+ D0D2693C159835CA005D9B9C /* fish */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fish; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0F019DC15A969970034B3B1 /* set_color */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = set_color; sourceTree = BUILT_PRODUCTS_DIR; };
D0F3373A1506DE3C00ECEFC0 /* builtin_test.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_test.cpp; sourceTree = "<group>"; };
+ D0F5E28215A7A32D00315DFF /* builtin_scripts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = builtin_scripts.cpp; sourceTree = "<group>"; };
+ D0F5E28315A7A32D00315DFF /* builtin_scripts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = builtin_scripts.h; sourceTree = "<group>"; };
+ D0F5E28415A7A32D00315DFF /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
+/* Begin PBXFrameworksBuildPhase section */
+ D0D02AB915985EF9008E62BD /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02AC715985F9D008E62BD /* libncurses.dylib in Frameworks */,
+ D0D02AC815985F9F008E62BD /* libiconv.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D02ACD1598642A008E62BD /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02ADC159864D5008E62BD /* libncurses.dylib in Frameworks */,
+ D0D02ADD159864D7008E62BD /* libiconv.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D02AE115986537008E62BD /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02AEA15986549008E62BD /* libncurses.dylib in Frameworks */,
+ D0D02AEB1598654C008E62BD /* libiconv.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D26939159835CA005D9B9C /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02A8D15983CFA008E62BD /* libncurses.dylib in Frameworks */,
+ D0D02A8B15983CDF008E62BD /* libiconv.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019D915A969970034B3B1 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0F019E915A96A0A0034B3B1 /* libncurses.dylib in Frameworks */,
+ D0F019EA15A96A0C0034B3B1 /* libiconv.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F01A0415A9789C0034B3B1 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0F01A0515A978A10034B3B1 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
/* Begin PBXGroup section */
D0A084F013B3AC130099B651 = {
isa = PBXGroup;
children = (
+ D0D02A91159845EF008E62BD /* Sources */,
+ D0F5E28115A7A32D00315DFF /* DerivedSources */,
+ D0D02AFC159871BF008E62BD /* Launcher */,
+ D0D02A8E15983D5F008E62BD /* Libraries */,
+ D0D02AAB15985C14008E62BD /* Resources */,
+ D0D2693215983562005D9B9C /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ D0D02A8E15983D5F008E62BD /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ D0D02A8C15983CFA008E62BD /* libncurses.dylib */,
+ D0D02A8A15983CDF008E62BD /* libiconv.dylib */,
+ D0CBD583159EEE010024809C /* Foundation.framework */,
+ );
+ name = Libraries;
+ sourceTree = "<group>";
+ };
+ D0D02A91159845EF008E62BD /* Sources */ = {
+ isa = PBXGroup;
+ children = (
D0C6FCCB14CFA4B7004CE8AD /* autoload.h */,
D0C6FCC914CFA4B0004CE8AD /* autoload.cpp */,
D0A0850313B3ACEE0099B651 /* builtin.h */,
@@ -224,27 +598,184 @@
D0A0852F13B3ACEE0099B651 /* xdgmimeparent.h */,
D0A0856713B3ACEE0099B651 /* xdgmimeparent.cpp */,
);
+ name = Sources;
sourceTree = "<group>";
};
+ D0D02AAB15985C14008E62BD /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ D0CBD586159EF0E10024809C /* launch_fish.scpt */,
+ D0CBD580159EE48F0024809C /* config.fish */,
+ D0C4FD9415A7D7EE00212EF1 /* config.fish */,
+ D0CBD578159EE4600024809C /* completions */,
+ D0CBD579159EE4600024809C /* functions */,
+ D0CBD57A159EE4600024809C /* tools */,
+ D0D02AA915985C0C008E62BD /* Info.plist */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ D0D02AFC159871BF008E62BD /* Launcher */ = {
+ isa = PBXGroup;
+ children = (
+ D0D02AFA159871B2008E62BD /* osx_fish_launcher.m */,
+ );
+ name = Launcher;
+ sourceTree = "<group>";
+ };
+ D0D2693215983562005D9B9C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D0D2693C159835CA005D9B9C /* fish */,
+ D0D02A9A15985A75008E62BD /* fish.app */,
+ D0D02ABC15985EF9008E62BD /* fishd */,
+ D0D02AD01598642A008E62BD /* fish_indent */,
+ D0D02AE415986537008E62BD /* fish_pager */,
+ D0F019DC15A969970034B3B1 /* set_color */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ D0F5E28115A7A32D00315DFF /* DerivedSources */ = {
+ isa = PBXGroup;
+ children = (
+ D0F5E28215A7A32D00315DFF /* builtin_scripts.cpp */,
+ D0F5E28315A7A32D00315DFF /* builtin_scripts.h */,
+ D0F5E28415A7A32D00315DFF /* config.h */,
+ );
+ name = DerivedSources;
+ sourceTree = DERIVED_FILE_DIR;
+ };
/* End PBXGroup section */
/* Begin PBXLegacyTarget section */
- D0A084F713B3AC130099B651 /* FishsFish */ = {
+ D0A084F713B3AC130099B651 /* Makefile */ = {
isa = PBXLegacyTarget;
- buildArgumentsString = "-k ${ACTION}";
- buildConfigurationList = D0A084FA13B3AC130099B651 /* Build configuration list for PBXLegacyTarget "FishsFish" */;
+ buildArgumentsString = " -f Makefile -k ${ACTION}";
+ buildConfigurationList = D0A084FA13B3AC130099B651 /* Build configuration list for PBXLegacyTarget "Makefile" */;
buildPhases = (
);
buildToolPath = /usr/bin/make;
buildWorkingDirectory = "";
dependencies = (
);
- name = FishsFish;
+ name = Makefile;
passBuildSettingsInEnvironment = 1;
productName = FishsFish;
};
/* End PBXLegacyTarget section */
+/* Begin PBXNativeTarget section */
+ D0D02A9915985A75008E62BD /* fish.app */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0D02AA415985A75008E62BD /* Build configuration list for PBXNativeTarget "fish.app" */;
+ buildPhases = (
+ D0F01A0215A9788B0034B3B1 /* Sources */,
+ D0F019D215A968E40034B3B1 /* CopyFiles */,
+ D0CBD570159ED2A30024809C /* CopyFiles */,
+ D0CBD57F159EE4800024809C /* CopyFiles */,
+ D0CBD585159EF09F0024809C /* Resources */,
+ D0F01A0415A9789C0034B3B1 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ D0F01A0915A97C860034B3B1 /* PBXTargetDependency */,
+ D0F01A0B15A97C870034B3B1 /* PBXTargetDependency */,
+ D0F01A0D15A97C890034B3B1 /* PBXTargetDependency */,
+ D0F01A0F15A97C980034B3B1 /* PBXTargetDependency */,
+ D0F01A1115A97C9B0034B3B1 /* PBXTargetDependency */,
+ );
+ name = fish.app;
+ productName = fish;
+ productReference = D0D02A9A15985A75008E62BD /* fish.app */;
+ productType = "com.apple.product-type.application";
+ };
+ D0D02ABB15985EF9008E62BD /* fishd */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0D02ABF15985EFA008E62BD /* Build configuration list for PBXNativeTarget "fishd" */;
+ buildPhases = (
+ D0D02AB815985EF9008E62BD /* Sources */,
+ D0D02AB915985EF9008E62BD /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = fishd;
+ productName = fishd;
+ productReference = D0D02ABC15985EF9008E62BD /* fishd */;
+ productType = "com.apple.product-type.tool";
+ };
+ D0D02ACF1598642A008E62BD /* fish_indent */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0D02AD31598642A008E62BD /* Build configuration list for PBXNativeTarget "fish_indent" */;
+ buildPhases = (
+ D0D02ACC1598642A008E62BD /* Sources */,
+ D0D02ACD1598642A008E62BD /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = fish_indent;
+ productName = fish_indent;
+ productReference = D0D02AD01598642A008E62BD /* fish_indent */;
+ productType = "com.apple.product-type.tool";
+ };
+ D0D02AE315986537008E62BD /* fish_pager */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0D02AE715986537008E62BD /* Build configuration list for PBXNativeTarget "fish_pager" */;
+ buildPhases = (
+ D0D02AE015986537008E62BD /* Sources */,
+ D0D02AE115986537008E62BD /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = fish_pager;
+ productName = fish_pager;
+ productReference = D0D02AE415986537008E62BD /* fish_pager */;
+ productType = "com.apple.product-type.tool";
+ };
+ D0D2693B159835CA005D9B9C /* fish_shell */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0D26943159835CA005D9B9C /* Build configuration list for PBXNativeTarget "fish_shell" */;
+ buildPhases = (
+ D0D269481598364C005D9B9C /* ShellScript */,
+ D0D02A90159844FD008E62BD /* ShellScript */,
+ D0D26938159835CA005D9B9C /* Sources */,
+ D0D26939159835CA005D9B9C /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = fish_shell;
+ productName = fish_Xcode;
+ productReference = D0D2693C159835CA005D9B9C /* fish */;
+ productType = "com.apple.product-type.tool";
+ };
+ D0F019DB15A969970034B3B1 /* set_color */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0F019DF15A969970034B3B1 /* Build configuration list for PBXNativeTarget "set_color" */;
+ buildPhases = (
+ D0F019D815A969970034B3B1 /* Sources */,
+ D0F019D915A969970034B3B1 /* Frameworks */,
+ D0F019DA15A969970034B3B1 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = set_color;
+ productName = set_color;
+ productReference = D0F019DC15A969970034B3B1 /* set_color */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
/* Begin PBXProject section */
D0A084F213B3AC130099B651 /* Project object */ = {
isa = PBXProject;
@@ -259,14 +790,223 @@
en,
);
mainGroup = D0A084F013B3AC130099B651;
+ productRefGroup = D0D2693215983562005D9B9C /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- D0A084F713B3AC130099B651 /* FishsFish */,
+ D0A084F713B3AC130099B651 /* Makefile */,
+ D0D02A9915985A75008E62BD /* fish.app */,
+ D0F019EC15A976F30034B3B1 /* fish_directory_tree */,
+ D0D2693B159835CA005D9B9C /* fish_shell */,
+ D0D02ABB15985EF9008E62BD /* fishd */,
+ D0D02ACF1598642A008E62BD /* fish_indent */,
+ D0D02AE315986537008E62BD /* fish_pager */,
+ D0F019DB15A969970034B3B1 /* set_color */,
);
};
/* End PBXProject section */
+/* Begin PBXResourcesBuildPhase section */
+ D0CBD585159EF09F0024809C /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0CBD587159EF0E10024809C /* launch_fish.scpt in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ D0D02A90159844FD008E62BD /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "${SRCROOT}/internalize_scripts.py --output ${DERIVED_FILE_DIR}";
+ };
+ D0D269481598364C005D9B9C /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/osx_config.h",
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/config.h",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cp ${SRCROOT}/osx/osx_config.h ${DERIVED_FILE_DIR}/config.h";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D0D02AB815985EF9008E62BD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02AC215985F3F008E62BD /* fishd.cpp in Sources */,
+ D0D02AC315985F43008E62BD /* env_universal_common.cpp in Sources */,
+ D0D02AC415985F4D008E62BD /* wutil.cpp in Sources */,
+ D0D02AC515985F5B008E62BD /* print_help.cpp in Sources */,
+ D0D02AC615985F65008E62BD /* common.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D02ACC1598642A008E62BD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02AD615986492008E62BD /* fish_indent.cpp in Sources */,
+ D0D02AD715986498008E62BD /* print_help.cpp in Sources */,
+ D0D02AD81598649E008E62BD /* common.cpp in Sources */,
+ D0D02AD9159864A6008E62BD /* parser_keywords.cpp in Sources */,
+ D0D02ADA159864AB008E62BD /* wutil.cpp in Sources */,
+ D0D02ADB159864C2008E62BD /* tokenizer.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D02AE015986537008E62BD /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0D02AEC1598657F008E62BD /* fish_indent.cpp in Sources */,
+ D0D02AED15986584008E62BD /* print_help.cpp in Sources */,
+ D0D02AEE15986591008E62BD /* common.cpp in Sources */,
+ D0D02AF0159865A2008E62BD /* wutil.cpp in Sources */,
+ D0D02AF1159865AC008E62BD /* parser_keywords.cpp in Sources */,
+ D0D02AF2159865B4008E62BD /* tokenizer.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0D26938159835CA005D9B9C /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D07A7D3C15A7A38100811FC6 /* builtin_scripts.cpp in Sources */,
+ D0D02A7C159839D5008E62BD /* autoload.cpp in Sources */,
+ D0D02A7D159839D5008E62BD /* builtin_test.cpp in Sources */,
+ D0D02A7E159839D5008E62BD /* color.cpp in Sources */,
+ D0D02A7F159839D5008E62BD /* common.cpp in Sources */,
+ D0D02A80159839D5008E62BD /* event.cpp in Sources */,
+ D0D02A81159839D5008E62BD /* input_common.cpp in Sources */,
+ D0D02A82159839D5008E62BD /* io.cpp in Sources */,
+ D0D02A83159839D5008E62BD /* iothread.cpp in Sources */,
+ D0D02A84159839D5008E62BD /* parse_util.cpp in Sources */,
+ D0D02A85159839D5008E62BD /* path.cpp in Sources */,
+ D0D02A86159839D5008E62BD /* postfork.cpp in Sources */,
+ D0D02A87159839D5008E62BD /* screen.cpp in Sources */,
+ D0D02A88159839D5008E62BD /* signal.cpp in Sources */,
+ D0D2694A15983779005D9B9C /* builtin.cpp in Sources */,
+ D0D2694915983772005D9B9C /* function.cpp in Sources */,
+ D0D02A67159837AD008E62BD /* complete.cpp in Sources */,
+ D0D02A69159837B2008E62BD /* env.cpp in Sources */,
+ D0D02A6A1598381A008E62BD /* exec.cpp in Sources */,
+ D0D02A6B1598381F008E62BD /* expand.cpp in Sources */,
+ D0D02A6C15983829008E62BD /* highlight.cpp in Sources */,
+ D0D02A6D1598382C008E62BD /* history.cpp in Sources */,
+ D0D02A6E15983838008E62BD /* kill.cpp in Sources */,
+ D0D02A6F1598383E008E62BD /* parser.cpp in Sources */,
+ D0D02A8F15983D8F008E62BD /* parser_keywords.cpp in Sources */,
+ D0D02A7015983842008E62BD /* proc.cpp in Sources */,
+ D0D02A7115983848008E62BD /* reader.cpp in Sources */,
+ D0D02A721598384C008E62BD /* sanity.cpp in Sources */,
+ D0D02A7315983852008E62BD /* tokenizer.cpp in Sources */,
+ D0D02A7415983857008E62BD /* wildcard.cpp in Sources */,
+ D0D02A751598385E008E62BD /* wgetopt.cpp in Sources */,
+ D0D02A7615983869008E62BD /* wutil.cpp in Sources */,
+ D0D02A7715983875008E62BD /* input.cpp in Sources */,
+ D0D02A781598387E008E62BD /* output.cpp in Sources */,
+ D0D02A7915983888008E62BD /* intern.cpp in Sources */,
+ D0D02A7A15983916008E62BD /* env_universal.cpp in Sources */,
+ D0D02A7B15983928008E62BD /* env_universal_common.cpp in Sources */,
+ D0D02A89159839DF008E62BD /* fish.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F019D815A969970034B3B1 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0F019E515A969C30034B3B1 /* color.cpp in Sources */,
+ D0F019E215A969B40034B3B1 /* set_color.cpp in Sources */,
+ D0F019E315A969BA0034B3B1 /* print_help.cpp in Sources */,
+ D0F019E415A969C00034B3B1 /* common.cpp in Sources */,
+ D0F019E615A969C80034B3B1 /* wutil.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D0F01A0215A9788B0034B3B1 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0F01A0315A978910034B3B1 /* osx_fish_launcher.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ D0F01A0915A97C860034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D2693B159835CA005D9B9C /* fish_shell */;
+ targetProxy = D0F01A0815A97C860034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A0B15A97C870034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02ABB15985EF9008E62BD /* fishd */;
+ targetProxy = D0F01A0A15A97C870034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A0D15A97C890034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02ACF1598642A008E62BD /* fish_indent */;
+ targetProxy = D0F01A0C15A97C890034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A0F15A97C980034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02AE315986537008E62BD /* fish_pager */;
+ targetProxy = D0F01A0E15A97C980034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1115A97C9B0034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0F019DB15A969970034B3B1 /* set_color */;
+ targetProxy = D0F01A1015A97C9B0034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1315AA36280034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D2693B159835CA005D9B9C /* fish_shell */;
+ targetProxy = D0F01A1215AA36280034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1515AA362E0034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02ABB15985EF9008E62BD /* fishd */;
+ targetProxy = D0F01A1415AA362E0034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1715AA36300034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02ACF1598642A008E62BD /* fish_indent */;
+ targetProxy = D0F01A1615AA36300034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1915AA36310034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0D02AE315986537008E62BD /* fish_pager */;
+ targetProxy = D0F01A1815AA36310034B3B1 /* PBXContainerItemProxy */;
+ };
+ D0F01A1B15AA36330034B3B1 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = D0F019DB15A969970034B3B1 /* set_color */;
+ targetProxy = D0F01A1A15AA36330034B3B1 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin XCBuildConfiguration section */
D0A084F813B3AC130099B651 /* Debug */ = {
isa = XCBuildConfiguration;
@@ -274,7 +1014,12 @@
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "LOCALEDIR=\\\"/usr/local/share/locale\\\"",
+ "PREFIX=L\\\"/usr/local\\\"",
+ "DATADIR=L\\\"/usr/local/share\\\"",
+ "SYSCONFDIR=L\\\"/usr/local/etc\\\"",
+ );
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -291,6 +1036,12 @@
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "LOCALEDIR=\\\"/usr/local/share/locale\\\"",
+ "PREFIX=L\\\"/usr/local\\\"",
+ "DATADIR=L\\\"/usr/local/share\\\"",
+ "SYSCONFDIR=L\\\"/usr/local/etc\\\"",
+ );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -329,6 +1080,210 @@
};
name = Release;
};
+ D0D02AA515985A75008E62BD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ EXECUTABLE_NAME = fish_launcher;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = osx/Info.plist;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = fish;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ D0D02AA615985A75008E62BD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ EXECUTABLE_NAME = fish_launcher;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = osx/Info.plist;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = fish;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ D0D02AC015985EFA008E62BD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ D0D02AC115985EFA008E62BD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ D0D02AD41598642A008E62BD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ D0D02AD51598642A008E62BD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ D0D02AE815986537008E62BD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ D0D02AE915986537008E62BD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ D0D26944159835CA005D9B9C /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = fish;
+ };
+ name = Debug;
+ };
+ D0D26945159835CA005D9B9C /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = fish;
+ };
+ name = Release;
+ };
+ D0F019E015A969970034B3B1 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ D0F019E115A969970034B3B1 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ D0F019EE15A976F30034B3B1 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ D0F019EF15A976F30034B3B1 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -341,7 +1296,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- D0A084FA13B3AC130099B651 /* Build configuration list for PBXLegacyTarget "FishsFish" */ = {
+ D0A084FA13B3AC130099B651 /* Build configuration list for PBXLegacyTarget "Makefile" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D0A084FB13B3AC130099B651 /* Debug */,
@@ -350,6 +1305,67 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ D0D02AA415985A75008E62BD /* Build configuration list for PBXNativeTarget "fish.app" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0D02AA515985A75008E62BD /* Debug */,
+ D0D02AA615985A75008E62BD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D0D02ABF15985EFA008E62BD /* Build configuration list for PBXNativeTarget "fishd" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0D02AC015985EFA008E62BD /* Debug */,
+ D0D02AC115985EFA008E62BD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D0D02AD31598642A008E62BD /* Build configuration list for PBXNativeTarget "fish_indent" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0D02AD41598642A008E62BD /* Debug */,
+ D0D02AD51598642A008E62BD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D0D02AE715986537008E62BD /* Build configuration list for PBXNativeTarget "fish_pager" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0D02AE815986537008E62BD /* Debug */,
+ D0D02AE915986537008E62BD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D0D26943159835CA005D9B9C /* Build configuration list for PBXNativeTarget "fish_shell" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0D26944159835CA005D9B9C /* Debug */,
+ D0D26945159835CA005D9B9C /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ D0F019DF15A969970034B3B1 /* Build configuration list for PBXNativeTarget "set_color" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0F019E015A969970034B3B1 /* Debug */,
+ D0F019E115A969970034B3B1 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ D0F019ED15A976F30034B3B1 /* Build configuration list for PBXAggregateTarget "fish_directory_tree" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0F019EE15A976F30034B3B1 /* Debug */,
+ D0F019EF15A976F30034B3B1 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
/* End XCConfigurationList section */
};
rootObject = D0A084F213B3AC130099B651 /* Project object */;
diff --git a/Makefile.in b/Makefile.in
index b70dd621..d76ad119 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -55,7 +55,6 @@ mandir = @mandir@
sysconfdir = @sysconfdir@
docdir = @docdir@
localedir = @localedir@
-prefix = @prefix@
optbindirs = @optbindirs@
#
@@ -226,20 +225,6 @@ MAIN_DIR_FILES := $(sort $(MAIN_DIR_FILES_UNSORTED))
#
-# Files in ./etc/
-#
-
-ETC_DIR_FILES :=etc/config.fish.in
-
-
-#
-# Files in ./share/
-#
-
-SHARE_DIR_FILES :=share/config.fish.in
-
-
-#
# Files in ./tests/
#
@@ -296,7 +281,7 @@ XSEL_BIN := @XSEL_BIN@
# Make everything needed for installing fish
#
-all: $(PROGRAMS) user_doc share/man etc/config.fish share/config.fish $(TRANSLATIONS)
+all: $(PROGRAMS) user_doc share/man $(TRANSLATIONS)
@echo fish has now been built.
@echo Use \'$(MAKE) install\' to install fish.
.PHONY: all
@@ -319,12 +304,9 @@ Makefile: Makefile.in configure
# and should only be used when debuging fish.
#
-debug:
- $(MAKE) fish EXTRA_CXXFLAGS="-O0 -Wno-unused -g"
-.PHONY: debug
-
-prof:
- $(MAKE) all EXTRA_CXXFLAGS="-pg" LDFLAGS="-pg"
+prof: EXTRA_CXXFLAGS += -pg
+prof: LDFLAGS += -pg
+prof: all
.PHONY: prof
#
@@ -335,8 +317,7 @@ prof:
# intermediate *.hdr and doc.h files if needed
# Allow doxygen to fail, e.g. if it does not exist
-user_doc: $(HDR_FILES_SRC) Doxyfile.user user_doc.head.html $(HELP_SRC)
- $(MAKE) doc.h $(HDR_FILES)
+user_doc: $(HDR_FILES_SRC) Doxyfile.user user_doc.head.html $(HELP_SRC) doc.h $(HDR_FILES)
- doxygen Doxyfile.user && touch user_doc
@@ -471,10 +452,10 @@ doc.h: $(HDR_FILES)
# Create a template translation object
#
-messages.pot: *.cpp *.h etc/*.in share/*.in share/completions/*.fish share/functions/*.fish seq
+messages.pot: *.cpp *.h share/completions/*.fish share/functions/*.fish seq
if test $(HAVE_GETTEXT) = 1;then \
xgettext -k_ -kN_ *.cpp *.h -o messages.pot; \
- if xgettext -j -k_ -kN_ -k--description -LShell etc/*.in share/*.in share/completions/*.fish share/functions/*.fish seq -o messages.pot; then true; else \
+ if xgettext -j -k_ -kN_ -k--description -LShell share/completions/*.fish share/functions/*.fish seq -o messages.pot; then true; else \
echo "Your xgettext version is too old to build the messages.pot file"\
rm messages.pot\
false;\
@@ -669,16 +650,15 @@ uninstall: uninstall-translations
rm -f $(DESTDIR)$(bindir)/$$i; \
done;
-rm -f $(DESTDIR)$(bindir)/xsel
- -rm -f $(DESTDIR)$(sysconfdir)/fish/config.fish
- -rmdir $(DESTDIR)$(sysconfdir)/fish
+ -rm -rf $(DESTDIR)$(sysconfdir)/fish
-if test -d $(DESTDIR)$(datadir)/fish; then \
rm -r $(DESTDIR)$(datadir)/fish; \
fi
-if test -d $(DESTDIR)$(docdir); then \
- rm -r $(DESTDIR)$(docdir);\
+ rm -rf $(DESTDIR)$(docdir);\
fi
-for i in $(MANUALS); do \
- rm -f $(DESTDIR)$(mandir)/man1/`basename $$i`*; \
+ rm -rf $(DESTDIR)$(mandir)/man1/`basename $$i`*; \
done;
.PHONY: uninstall
@@ -821,49 +801,6 @@ depend:
autoload.cpp function.cpp: $(GENERATED_INTERN_SCRIPT_FILES)
#
-# Copy all the source files into a new directory and use tar to create
-# an archive from it. Simplest way I could think of to make an archive
-# witout backups, autogenerated files, etc.
-#
-# Uses install instead of mkdir so build won't fail if the directory
-# exists
-#
-
-fish-@PACKAGE_VERSION@.tar: $(DOC_SRC_DIR_FILES) $(MAIN_DIR_FILES) $(ETC_DIR_FILES) $(TEST_DIR_FILES) $(SHARE_DIR_FILES) $(FUNCTIONS_DIR_FILES) $(COMPLETIONS_DIR_FILES) ChangeLog user_doc share/man
- rm -rf fish-@PACKAGE_VERSION@
- $(INSTALL) -d fish-@PACKAGE_VERSION@
- $(INSTALL) -d fish-@PACKAGE_VERSION@/doc_src
- $(INSTALL) -d fish-@PACKAGE_VERSION@/user_doc
- $(INSTALL) -d fish-@PACKAGE_VERSION@/etc
- $(INSTALL) -d fish-@PACKAGE_VERSION@/share
- $(INSTALL) -d fish-@PACKAGE_VERSION@/share/completions
- $(INSTALL) -d fish-@PACKAGE_VERSION@/share/functions
- $(INSTALL) -d fish-@PACKAGE_VERSION@/share/man
- $(INSTALL) -d fish-@PACKAGE_VERSION@/tests
- $(INSTALL) -d fish-@PACKAGE_VERSION@/po
- cp -f $(DOC_SRC_DIR_FILES) fish-@PACKAGE_VERSION@/doc_src
- cp -f $(MAIN_DIR_FILES) fish-@PACKAGE_VERSION@/
- cp -f $(ETC_DIR_FILES) fish-@PACKAGE_VERSION@/etc/
- cp -f $(SHARE_DIR_FILES) fish-@PACKAGE_VERSION@/share/
- cp -f $(COMPLETIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/completions/
- cp -f $(FUNCTIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/functions/
- cp -f $(TESTS_DIR_FILES) fish-@PACKAGE_VERSION@/tests/
- cp -f $(TRANSLATIONS_SRC) fish-@PACKAGE_VERSION@/po/
- cp -f share/man/*.1 fish-@PACKAGE_VERSION@/share/man/
- cp -rf user_doc fish-@PACKAGE_VERSION@/
- tar -c fish-@PACKAGE_VERSION@ >fish-@PACKAGE_VERSION@.tar
- rm -rf fish-@PACKAGE_VERSION@
-
-
-#
-# Just an alias for fish-@PACKAGE_VERSION@.tar
-#
-
-tar: fish-@PACKAGE_VERSION@.tar
-.PHONY: tar
-
-
-#
# Make compressed tar archives
#
@@ -915,7 +852,6 @@ rpm: fish-@PACKAGE_VERSION@.tar.bz2 fish.spec
distclean: clean
rm -f fish.spec Doxyfile.help
- rm -f etc/config.fish seq share/config.fish
rm -f config.status config.log config.h Makefile
rm -rf $(XSEL)
.PHONY: distclean
@@ -932,7 +868,7 @@ clean:
rm -f tests/tmp.err tests/tmp.out tests/tmp.status tests/foo.txt
rm -f $(PROGRAMS) fish_tests tokenizer_test key_reader
rm -f command_list.txt toc.txt
- rm -f share/config.fish etc/config.fish doc_src/index.hdr doc_src/commands.hdr
+ rm -f doc_src/index.hdr doc_src/commands.hdr
rm -f fish-@PACKAGE_VERSION@.tar
rm -f fish-@PACKAGE_VERSION@.tar.gz
rm -f fish-@PACKAGE_VERSION@.tar.bz2
diff --git a/build_tools/make_tarball.sh b/build_tools/make_tarball.sh
index 9b8dd296..c7400292 100755
--- a/build_tools/make_tarball.sh
+++ b/build_tools/make_tarball.sh
@@ -1,9 +1,11 @@
#!/bin/sh
-rm -f ~/fish_built/fishfish.tar.gz
-if git archive --format=tar --prefix=fishfish/ master | gzip - > ~/fish_built/fishfish.tar.gz
+path=~/fish_built/fishfish-2.0.tar.gz
+rm -f "$path"
+if git archive --format=tar --prefix=fishfish/ master | gzip - > "$path"
then
- echo "Tarball written to ~/fish_built/fishfish.tar.gz"
+ echo "Tarball written to $path"
+ openssl sha1 "$path"
else
echo "Tarball could not be written"
fi
diff --git a/configure.ac b/configure.ac
index 111178eb..908fed38 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@
# configure the build process.
#
-AC_INIT(fish,1.23.1,fish-users@lists.sf.net)
+AC_INIT(fish,2.0.0,fish-users@lists.sf.net)
#
# preserve configure arguments for xsel
diff --git a/etc/config.fish.in b/etc/config.fish
index 5e4ed67b..a3f3b9f3 100644
--- a/etc/config.fish.in
+++ b/etc/config.fish
@@ -1,7 +1,6 @@
#
# Init file for fish
#
-# @configure_input@
#
# Some things should only be done for login terminals
diff --git a/fish.cpp b/fish.cpp
index 24424e5b..67f6f4d1 100644
--- a/fish.cpp
+++ b/fish.cpp
@@ -32,6 +32,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <unistd.h>
#include <termios.h>
#include <fcntl.h>
+#include <sys/param.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
@@ -61,20 +62,177 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "history.h"
#include "path.h"
+/* PATH_MAX may not exist */
+#ifndef PATH_MAX
+#define PATH_MAX 1024
+#endif
+
/**
The string describing the single-character options accepted by the main fish binary
*/
#define GETOPT_STRING "+hilnvc:p:d:"
+static bool has_suffix(const std::string &path, const char *suffix, bool ignore_case)
+{
+ size_t pathlen = path.size(), suffixlen = strlen(suffix);
+ return pathlen >= suffixlen && ! (ignore_case ? strcasecmp : strcmp)(path.c_str() + pathlen - suffixlen, suffix);
+}
+
+/* Modifies the given path by calling realpath. Returns true if realpath succeeded, false otherwise */
+static bool get_realpath(std::string &path)
+{
+ char buff[PATH_MAX], *ptr;
+ if ((ptr = realpath(path.c_str(), buff)))
+ {
+ path = ptr;
+ }
+ return ptr != NULL;
+}
+
+/* OS X function for getting the executable path */
+extern "C" {
+ int _NSGetExecutablePath(char* buf, uint32_t* bufsize);
+}
+
+/* Return the path to the current executable. This needs to be realpath'd. */
+static std::string get_executable_path(const char *argv0)
+{
+ char buff[PATH_MAX];
+#if __APPLE__
+ {
+ /* Returns 0 on success, -1 if the buffer is too small */
+ uint32_t buffSize = sizeof buff;
+ if (0 == _NSGetExecutablePath(buff, &buffSize))
+ return std::string(buff);
+
+ /* Loop until we're big enough */
+ char *mbuff = (char *)malloc(buffSize);
+ while (0 > _NSGetExecutablePath(mbuff, &buffSize))
+ mbuff = (char *)realloc(mbuff, buffSize);
+
+ /* Return the string */
+ std::string result = mbuff;
+ free(mbuff);
+ return result;
+ }
+#endif
+ {
+ /* On other Unixes, try /proc directory. This might be worth breaking out into macros. */
+ if (0 < readlink("/proc/self/exe", buff, sizeof buff) || // Linux
+ 0 < readlink("/proc/curproc/file", buff, sizeof buff) || // BSD
+ 0 < readlink("/proc/self/path/a.out", buff, sizeof buff)) // Solaris
+ {
+ return std::string(buff);
+ }
+ }
+
+ /* Just return argv0, which probably won't work (i.e. it's not an absolute path or a path relative to the working directory, but instead something the caller found via $PATH). We'll eventually fall back to the compile time paths. */
+ return std::string(argv0 ? argv0 : "");
+}
+
+/* A struct of configuration directories.
+ */
+struct config_paths_t
+{
+ wcstring data; // e.g. /usr/local/share
+ wcstring sysconf; // e.g. /usr/local/etc
+ wcstring doc; // e.g. /usr/local/share/doc/fish
+ wcstring bin; // e.g. /usr/local/bin
+};
+
+static struct config_paths_t determine_config_directory_paths(const char *argv0)
+{
+ struct config_paths_t paths;
+ bool done = false;
+ std::string exec_path = get_executable_path(argv0);
+ if (get_realpath(exec_path))
+ {
+#if __APPLE__
+
+ /* On OS X, maybe we're an app bundle, and should use the bundle's files. Since we don't link CF, use this lame approach to test it: see if the resolved path ends with /Contents/MacOS/fish, case insensitive since HFS+ usually is.
+ */
+ if (! done)
+ {
+ const char *suffix = "/Contents/MacOS/fish";
+ const size_t suffixlen = strlen(suffix);
+ if (has_suffix(exec_path, suffix, true))
+ {
+ /* Looks like we're a bundle. Cut the string at the / prefixing /Contents... and then the rest */
+ wcstring wide_resolved_path = str2wcstring(exec_path);
+ wide_resolved_path.resize(exec_path.size() - suffixlen);
+ wide_resolved_path.append(L"/Contents/Resources/");
+
+ /* Append share, etc, doc */
+ paths.data = wide_resolved_path + L"share/fish";
+ paths.sysconf = wide_resolved_path + L"etc/fish";
+ paths.doc = wide_resolved_path + L"doc";
+
+ /* But the bin_dir is the resolved_path, minus fish (aka the MacOS directory) */
+ paths.bin = str2wcstring(exec_path);
+ paths.bin.resize(paths.bin.size() - strlen("/fish"));
+
+ done = true;
+ }
+ }
+#endif
+
+ if (! done)
+ {
+ /* The next check is that we are in a reloctable directory tree like this:
+ bin/fish
+ etc/fish
+ share/fish
+
+ Check it!
+ */
+ const char *suffix = "/bin/fish";
+ if (has_suffix(exec_path, suffix, false))
+ {
+ wcstring base_path = str2wcstring(exec_path);
+ base_path.resize(base_path.size() - strlen(suffix));
+
+ paths.data = base_path + L"/share/fish";
+ paths.sysconf = base_path + L"/etc/fish";
+ paths.doc = base_path + L"/share/doc";
+ paths.bin = base_path + L"/bin";
+
+ struct stat buf;
+ if (0 == wstat(paths.data, &buf) && 0 == wstat(paths.sysconf, &buf))
+ {
+ done = true;
+ }
+ }
+ }
+ }
+
+ if (! done)
+ {
+ /* Fall back to what got compiled in. */
+ paths.data = L"" DATADIR "/fish";
+ paths.sysconf = L"" SYSCONFDIR "/fish";
+ paths.doc = L"" DATADIR "/doc/fish";
+ paths.bin = L"" PREFIX "/bin";
+
+ done = true;
+ }
+
+ /* Set the results in the environment */
+ env_set(L"__fish_datadir", paths.data.c_str(), ENV_GLOBAL | ENV_EXPORT);
+ env_set(L"__fish_sysconfdir", paths.sysconf.c_str(), ENV_GLOBAL | ENV_EXPORT);
+ env_set(L"__fish_help_dir", paths.doc.c_str(), ENV_GLOBAL | ENV_EXPORT);
+ env_set(L"__fish_bin_dir", paths.bin.c_str(), ENV_GLOBAL | ENV_EXPORT);
+
+ return paths;
+}
+
/**
- Parse init files
+ Parse init files. exec_path is the path of fish executable as determined by argv[0].
*/
-static int read_init()
+static int read_init(const struct config_paths_t &paths)
{
parser_t &parser = parser_t::principal_parser();
-
- parser.eval( L"builtin . " DATADIR "/fish/config.fish 2>/dev/null", 0, TOP );
- parser.eval( L"builtin . " SYSCONFDIR L"/fish/config.fish 2>/dev/null", 0, TOP );
+ parser.eval( L"builtin . " + paths.data + L"/config.fish 2>/dev/null", 0, TOP );
+ parser.eval( L"builtin . " + paths.sysconf + L"/config.fish 2>/dev/null", 0, TOP );
/*
We need to get the configuration directory before we can source the user configuration file
@@ -292,7 +450,7 @@ int main( int argc, char **argv )
debug( 1, _(L"Can not use the no-execute mode when running an interactive session") );
no_exec = 0;
}
-
+
proc_init();
event_init();
wutil_init();
@@ -308,7 +466,9 @@ int main( int argc, char **argv )
if (g_log_forks)
printf("%d: g_fork_count: %d\n", __LINE__, g_fork_count);
- if( read_init() )
+ /* Determine config paths */
+ const struct config_paths_t paths = determine_config_directory_paths(argv[0]);
+ if( read_init(paths) )
{
if( cmd != 0 )
{
diff --git a/internalize_scripts.py b/internalize_scripts.py
index b0b06fdf..314fb6c0 100755
--- a/internalize_scripts.py
+++ b/internalize_scripts.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
-import string, sys, os.path
+import string, sys, os.path, getopt
escapes = {}
escapes['\a'] = r'\a'
@@ -64,7 +64,34 @@ class cfunc:
TYPES = ['function', 'completion']
type_to_funcs = dict((t, []) for t in TYPES)
-for file in sys.argv[1:]:
+
+def usage(script_name):
+ print("Usage: {0} [--output output_directory] files...".format(script_name))
+ print("""Command options are:
+ --output directory\t\tThe directory to output the files
+ -h, --help\t\t\tShow this help message
+ """)
+
+script_name = sys.argv[0]
+try:
+ opts, file_paths = getopt.gnu_getopt(sys.argv[1:], 'h', ['output=', 'help'])
+except getopt.GetoptError as err:
+ print(err.msg) # will print something like "option -a not recognized"
+ usage(script_name)
+ sys.exit(2)
+
+output_directory = './'
+for opt, value in opts:
+ if opt in ('--output',):
+ output_directory = value
+ elif opt in ('-h', '--help'):
+ usage(script_name)
+ sys.exit(0)
+ else:
+ assert False, "unhandled option"
+
+
+for file in file_paths:
fd = open(file, 'r')
newlines = []
for line in fd:
@@ -89,7 +116,7 @@ for funcs in type_to_funcs.values():
funcs.sort(key=cfunc.cfunc_name)
# Output our header
-fd = open('builtin_scripts.h', 'w')
+fd = open(os.path.join(output_directory, 'builtin_scripts.h'), 'w')
fd.write('/* This file is generated by internalize_scripts.py */\n\n')
fd.write("""struct builtin_script_t {
const wchar_t *name;
@@ -106,7 +133,7 @@ for type in TYPES:
fd.close()
# Output the function definitions
-fd = open('builtin_scripts.cpp', 'w')
+fd = open(os.path.join(output_directory, 'builtin_scripts.cpp'), 'w')
fd.write('/* This file is generated by internalize_scripts.py */\n\n')
fd.write('#include "builtin_scripts.h"\n\n')
for type in TYPES:
diff --git a/osx/Info.plist b/osx/Info.plist
new file mode 100644
index 00000000..dcce2c28
--- /dev/null
+++ b/osx/Info.plist
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDisplayName</key>
+ <string>fish shell</string>
+ <key>CFBundleExecutable</key>
+ <string>fish_launcher</string>
+ <key>CFBundleIconFile</key>
+ <string>fish.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.ridiculousfish.fish-shell</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>fish shell</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>2.0</string>
+ <key>CFBundleVersion</key>
+ <string>289.5</string>
+ <key>LSApplicationCategoryType</key>
+ <string>public.app-category.productivity</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>10.6</string>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright © 2012, ridiculous_fish
+All rights reserved.</string>
+ <key>LSUIElement</key>
+ <true/>
+</dict>
+</plist>
diff --git a/osx/launch_fish.scpt b/osx/launch_fish.scpt
new file mode 100644
index 00000000..0afefdb6
--- /dev/null
+++ b/osx/launch_fish.scpt
Binary files differ
diff --git a/osx/osx_config.h b/osx/osx_config.h
new file mode 100644
index 00000000..14207b37
--- /dev/null
+++ b/osx/osx_config.h
@@ -0,0 +1,218 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the `backtrace' function. */
+#define HAVE_BACKTRACE 1
+
+/* Define to 1 if you have the `backtrace_symbols' function. */
+#define HAVE_BACKTRACE_SYMBOLS 1
+
+/* del_curterm is broken, redefine it to a no-op to avoid a double-free bug */
+/* #undef HAVE_BROKEN_DEL_CURTERM */
+
+/* Define to 1 one if the implemented fwprintf is broken */
+/* #undef HAVE_BROKEN_FWPRINTF */
+
+/* Define to 1 if you have the <curses.h> header file. */
+#define HAVE_CURSES_H 1
+
+/* Define to 1 if you have the `dcgettext' function. */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+#define HAVE_EXECINFO_H 1
+
+/* Define to 1 if you have the `fgetwc' function. */
+#define HAVE_FGETWC 1
+
+/* Define to 1 if you have the `fputwc' function. */
+#define HAVE_FPUTWC 1
+
+/* Define to 1 if you have the `futimes' function. */
+#define HAVE_FUTIMES 1
+
+/* Define to 1 if you have the `fwprintf' function. */
+#define HAVE_FWPRINTF 1
+
+/* Define to 1 if you have the <getopt.h> header file. */
+#define HAVE_GETOPT_H 1
+
+/* Define to 1 if you have the `gettext' function. */
+/* #undef HAVE_GETTEXT */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `killpg' function. */
+#define HAVE_KILLPG 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+/* #undef HAVE_LIBINTL_H */
+
+/* Define to 1 if you have the `lrand48_r' function. */
+/* #undef HAVE_LRAND48_R */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the nan function */
+#define HAVE_NAN 1
+
+/* Define to 1 if you have the <ncurses.h> header file. */
+#define HAVE_NCURSES_H 1
+
+/* Define to 1 if you have the <ncurses/term.h> header file. */
+/* #undef HAVE_NCURSES_TERM_H */
+
+/* Define to 1 if realpath accepts null for its second argument. */
+#define HAVE_REALPATH_NULL 1
+
+/* Define to 1 if you have the <regex.h> header file. */
+#define HAVE_REGEX_H 1
+
+/* Define to 1 if you have the <siginfo.h> header file. */
+/* #undef HAVE_SIGINFO_H */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/termios.h> header file. */
+#define HAVE_SYS_TERMIOS_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+/* #undef HAVE_TERMIO_H */
+
+/* Define to 1 if you have the <term.h> header file. */
+#define HAVE_TERM_H 1
+
+/* Define to 1 if the wgettext function should be used for translating
+ strings. */
+#define HAVE_TRANSLATE_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `wcscasecmp' function. */
+#define HAVE_WCSCASECMP 1
+
+/* Define to 1 if you have the `wcsdup' function. */
+#define HAVE_WCSDUP 1
+
+/* Define to 1 if you have the `wcslcat' function. */
+#define HAVE_WCSLCAT 1
+
+/* Define to 1 if you have the `wcslcpy' function. */
+#define HAVE_WCSLCPY 1
+
+/* Define to 1 if you have the `wcslen' function. */
+#define HAVE_WCSLEN 1
+
+/* Define to 1 if you have the `wcsncasecmp' function. */
+#define HAVE_WCSNCASECMP 1
+
+/* Define to 1 if you have the `wcsndup' function. */
+/* #undef HAVE_WCSNDUP */
+
+/* Define to 1 if you have the `wcstok' function. */
+#define HAVE_WCSTOK 1
+
+/* Define to 1 if you have the `wcstol' function. */
+#define HAVE_WCSTOL 1
+
+/* Define to 1 if you have the `wcswidth' function. */
+#define HAVE_WCSWIDTH 1
+
+/* Define to 1 if you have the `wcwidth' function. */
+#define HAVE_WCWIDTH 1
+
+/* Define to 1 if the winsize struct and TIOCGWINSZ macro exist */
+#define HAVE_WINSIZE 1
+
+/* Define to 1 if getopt_long exists and works. */
+#define HAVE_WORKING_GETOPT_LONG 1
+
+/* Define to 1 if the _nl_msg_cat_cntr symbol is exported. */
+/* #undef HAVE__NL_MSG_CAT_CNTR */
+
+/* Define to 1 if you have the file `/proc/self/stat'. */
+/* #undef HAVE__PROC_SELF_STAT */
+
+/* Define to 1 if the __environ symbol is exported. */
+/* #undef HAVE___ENVIRON */
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "fish-users@lists.sf.net"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "fish"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "fish 2.0.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "fish"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.0.0"
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if tparm accepts a fixed amount of paramters. */
+/* #undef TPARM_SOLARIS_KLUDGE */
+
+/* Evil kludge to get Power based machines to work */
+/* #undef TPUTS_KLUDGE */
+
+/* Perform string translations with gettext */
+#define USE_GETTEXT 1
+
+/* Macro to enable additional prototypes under BSD */
+/* #undef _NETBSD_SOURCE */
+
+/* Macro to enable additional prototypes under BSD */
+/* #undef __BSD_VISIBLE */
+
+/* Macro to enable additional prototypes under Solaris */
+/* #undef __EXTENSIONS__ */
+
+#if __GNUC__ >= 3
+#define __warn_unused __attribute__ ((warn_unused_result))
+#define __sentinel __attribute__ ((sentinel))
+#else
+#define __warn_unused
+#define __sentinel
+#endif
diff --git a/osx/osx_fish_launcher.m b/osx/osx_fish_launcher.m
new file mode 100644
index 00000000..8b24d2ec
--- /dev/null
+++ b/osx/osx_fish_launcher.m
@@ -0,0 +1,98 @@
+#import <Foundation/Foundation.h>
+#import <CoreServices/CoreServices.h>
+#import <Carbon/Carbon.h>
+#import <stdlib.h>
+#import <stdio.h>
+#import <unistd.h>
+#import <errno.h>
+#import <sys/types.h>
+#import <sys/stat.h>
+
+
+// The path to the command file, which we'll delete on death (if it exists)
+static char s_command_path[PATH_MAX];
+
+static void die(const char *format, ...) {
+ va_list ap;
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+
+ if (s_command_path[0] != '\0') {
+ unlink(s_command_path);
+ }
+
+ exit(EXIT_FAILURE);
+}
+
+static void launch_fish_with_applescript(NSString *fish_binary_path)
+{
+ // load the script from a resource by fetching its URL from within our bundle
+ NSString *path = [[NSBundle mainBundle] pathForResource:@"launch_fish" ofType:@"scpt"];
+ if (! path) die("Couldn't get path to launch_fish.scpt");
+
+ NSURL *url = [NSURL fileURLWithPath:path isDirectory:NO];
+ if (! url) die("Couldn't get URL to launch_fish.scpt");
+
+ NSDictionary *errors = nil;
+ NSAppleScript *appleScript = [[NSAppleScript alloc] initWithContentsOfURL:url error:&errors];
+ if (! appleScript) die("Couldn't load AppleScript");
+
+ // create the first parameter
+ NSAppleEventDescriptor *firstParameter =
+ [NSAppleEventDescriptor descriptorWithString:fish_binary_path];
+
+ // create and populate the list of parameters (in our case just one)
+ NSAppleEventDescriptor *parameters = [NSAppleEventDescriptor listDescriptor];
+ [parameters insertDescriptor:firstParameter atIndex:1];
+
+ // create the AppleEvent target
+ ProcessSerialNumber psn = {0, kCurrentProcess};
+ NSAppleEventDescriptor *target =
+ [NSAppleEventDescriptor
+ descriptorWithDescriptorType:typeProcessSerialNumber
+ bytes:&psn
+ length:sizeof(ProcessSerialNumber)];
+
+ // create an NSAppleEventDescriptor with the script's method name to call,
+ // this is used for the script statement: "on show_message(user_message)"
+ // Note that the routine name must be in lower case.
+ NSAppleEventDescriptor *handler = [NSAppleEventDescriptor descriptorWithString:
+ [@"launch_fish" lowercaseString]];
+
+ // create the event for an AppleScript subroutine,
+ // set the method name and the list of parameters
+ NSAppleEventDescriptor *event =
+ [NSAppleEventDescriptor appleEventWithEventClass:kASAppleScriptSuite
+ eventID:kASSubroutineEvent
+ targetDescriptor:target
+ returnID:kAutoGenerateReturnID
+ transactionID:kAnyTransactionID];
+ [event setParamDescriptor:handler forKeyword:keyASSubroutineName];
+ [event setParamDescriptor:parameters forKeyword:keyDirectObject];
+
+ // call the event in AppleScript
+ if (![appleScript executeAppleEvent:event error:&errors])
+ {
+ // report any errors from 'errors'
+ NSLog(@"Oops: %@", errors);
+ }
+
+ [appleScript release];
+}
+
+/* This approach asks Terminal to open a script that we control */
+int main(void) {
+ [[NSAutoreleasePool alloc] init];
+
+ /* Get the fish executable. Make sure it's absolute. */
+ NSURL *fish_executable = [[NSBundle mainBundle] URLForResource:@"fish" withExtension:@"" subdirectory:@"base/bin"];
+ if (! fish_executable)
+ die("Could not find fish executable in bundle");
+
+ launch_fish_with_applescript([fish_executable path]);
+
+ /* If we succeeded, it will clean itself up */
+ return 0;
+}
diff --git a/share/config.fish.in b/share/config.fish
index dc1c0f07..af2e15cb 100644
--- a/share/config.fish.in
+++ b/share/config.fish
@@ -3,7 +3,6 @@
# common helper functions for the command completions. All actual
# completions are located in the completions subdirectory.
#
-# @configure_input@
#
# Set default field separators
@@ -22,36 +21,28 @@ if set -q XDG_CONFIG_HOME
set configdir $XDG_CONFIG_HOME
end
-# These are used internally by fish in various places
-if not set -q __fish_datadir
- set -g __fish_datadir @datadir@/fish
-end
-
-if not set -q __fish_sysconfdir
- set -g __fish_sysconfdir @sysconfdir@/fish
-end
+# __fish_datadir, __fish_sysconfdir, __fish_help_dir, __fish_bin_dir
+# are expected to have been set up by read_init from fish.cpp
# Set up function and completion paths. Make sure that the fish
# default functions/completions are included in the respective path.
if not set -q fish_function_path
- set -U fish_function_path $configdir/fish/functions @sysconfdir@/fish/functions @datadir@/fish/functions
+ set fish_function_path $configdir/fish/functions $__fish_sysconfdir/functions $__fish_datadir/functions
end
-if not contains @datadir@/fish/functions $fish_function_path
- set fish_function_path[-1] @datadir@/fish/functions
+if not contains $__fish_datadir/functions $fish_function_path
+ set fish_function_path[-1] $__fish_datadir/functions
end
if not set -q fish_complete_path
- set -U fish_complete_path $configdir/fish/completions @sysconfdir@/fish/completions @datadir@/fish/completions
+ set fish_complete_path $configdir/fish/completions $__fish_sysconfdir/completions $__fish_datadir/completions
end
-if not contains @datadir@/fish/completions $fish_complete_path
- set fish_complete_path[-1] @datadir@/fish/completions
+if not contains $__fish_datadir/completions $fish_complete_path
+ set fish_complete_path[-1] $__fish_datadir/completions
end
-set __fish_help_dir @docdir@
-
#
# This is a Solaris-specific test to modify the PATH so that
# Posix-conformant tools are used by default. It is separate from the
@@ -72,12 +63,12 @@ end
# want this even for text-only terminals.
#
-set -l path_list /bin /usr/bin /usr/X11R6/bin /usr/local/bin @prefix@/bin @optbindirs@
+set -l path_list /bin /usr/bin /usr/X11R6/bin /usr/local/bin $__fish_bin_dir
# Root should also have the sbin directories in the path
switch $USER
case root
- set path_list $path_list /sbin /usr/sbin /usr/local/sbin @prefix@/sbin
+ set path_list $path_list /sbin /usr/sbin /usr/local/sbin
end
for i in $path_list