diff options
author | Andrew Williams <andy@andywilliams.me> | 2018-01-05 07:57:19 -0800 |
---|---|---|
committer | apache <apache@e5-web1.enlightenment.org> | 2018-01-05 07:57:19 -0800 |
commit | 0e1b2f5ec535e7f4854d0dd859831f0f1d09d788 (patch) | |
tree | b9682eb1d5db5fe1ddbe072e73de9ad3cf31c159 /pages/docs | |
parent | 1875029eb0a9502329245d8bba03355a8046e083 (diff) |
Wiki page osx-start.md changed with summary [created] by Andrew Williams
Diffstat (limited to 'pages/docs')
-rw-r--r-- | pages/docs/distros/osx-start.md.txt | 161 | ||||
-rw-r--r-- | pages/docs/distros/osx-start.txt | 113 |
2 files changed, 161 insertions, 113 deletions
diff --git a/pages/docs/distros/osx-start.md.txt b/pages/docs/distros/osx-start.md.txt new file mode 100644 index 000000000..7e575bfd5 --- /dev/null +++ b/pages/docs/distros/osx-start.md.txt | |||
@@ -0,0 +1,161 @@ | |||
1 | --- | ||
2 | ~~Title: Installing EFL on macOS~~ | ||
3 | ~~NOCACHE~~ | ||
4 | --- | ||
5 | |||
6 | # Installing EFL on macOS # | ||
7 | |||
8 | > **NOTE:** | ||
9 | > The Enlightenment (Desktop Manager) is not supported on macOS and there are no plans to do so in the near future. Please [contact us](https://www.enlightenment.org/contrib/start) if you'd like to help with this. | ||
10 | |||
11 | [The *Enlightenment Foundation Libraries (EFL)*](/about-efl.md) power millions of systems from mobile phones to set-top boxes, desktops, laptops, game systems and more. You will need EFL if you want to develop apps for Enlightenment and for any of the devices that use Enlightenment for its visual interface. | ||
12 | |||
13 | This tutorial describes two ways of installing EFL on your system. You will only need one so use the index on the right to navigate to the most useful method for you. | ||
14 | |||
15 | The Enlightenment Foundation's projects mostly targets Linux platforms therefore not everything work on macOS works the first time. This is due to the specific requirements of macOS (kernel+userland) and the fact that there are very few 'Englightened' macOS users. | ||
16 | |||
17 | This document explains how to install EFL using either the [Homebrew package manager](https://brew.sh/) or by building from source via git. | ||
18 | |||
19 | Whichever installation method you use, read through the section on [Compiling EFL Applications](#Compiling_EFL_Applications) to find out more about building apps. | ||
20 | |||
21 | ## Install EFL with Homebrew ## | ||
22 | |||
23 | Homebrew is an unofficial package manager for macOS which you can install a number of programs that aren't available in macOS by default. | ||
24 | |||
25 | To install Homebrew open Terminal in macOS and run: | ||
26 | |||
27 | ```bash | ||
28 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | ||
29 | ``` | ||
30 | |||
31 | The script will prompt you through the install process. Feel free to visit the [Homebrew website](https://docs.brew.sh/Installation.html) for more information on fine tuning the installation. | ||
32 | |||
33 | Homebrew should run an update prior to installing any new software but double check this by running: | ||
34 | |||
35 | ```bash | ||
36 | brew update | ||
37 | ``` | ||
38 | |||
39 | Next install EFL with: | ||
40 | |||
41 | ```bash | ||
42 | brew install efl | ||
43 | ``` | ||
44 | |||
45 | The distributed version of EFL is [1.20.6](http://braumeister.org/formula/efl). | ||
46 | |||
47 | ## Installing from Git ## | ||
48 | |||
49 | Installing EFL manually is broadly a three step process. Firstly you need to have the macOS *Command Line Tools (CLT)* installed on your system, then install the necessary software dependencies. You can then configure and compile the EFL source code. | ||
50 | |||
51 | ### Step 1: Install Command Line Tools ### | ||
52 | |||
53 | If you've already installed [XCode](https://developer.apple.com/xcode/) via the Mac App Store, the command line tools are already embedded in the *Integrated Development Environment (IDE)*. Failing this, install the CLT by opening Terminal then run: | ||
54 | |||
55 | ```bash | ||
56 | xcode-select --install | ||
57 | ``` | ||
58 | |||
59 | ### Step 2: Installing Dependencies ### | ||
60 | |||
61 | The easiest way to install the necessary software dependencies is to use a package manager like Homebrew. If you haven't already installed it do so now by opening Terminal and running: | ||
62 | |||
63 | ```bash | ||
64 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | ||
65 | ``` | ||
66 | |||
67 | The script will prompt you through the install process. Feel free to visit the [Homebrew website](https://docs.brew.sh/Installation.html) for more information on fine tuning the installation. | ||
68 | |||
69 | Homebrew should run an update prior to installing any new software but double check this by running: | ||
70 | |||
71 | ```bash | ||
72 | brew update | ||
73 | ``` | ||
74 | |||
75 | Next install the dependencies with: | ||
76 | |||
77 | ```bash | ||
78 | brew install autoconf automake libtool autoconf-archive gettext check pkg-config luajit jpeg freetype fribidi fontconfig giflib libtiff glib dbus libsndfile bullet libspectre libraw librsvg poppler gstreamer gst-plugins-good pulseaudio | ||
79 | brew migrate dbus | ||
80 | ``` | ||
81 | If you're using a fresh install of macOS, create a 'LaunchAgents' folder for your own account if it doesn't exist already: | ||
82 | |||
83 | ```bash | ||
84 | mkdir -p ~/Library/LaunchAgents | ||
85 | ``` | ||
86 | |||
87 | Next use ``launchctl`` to automatically start and stop ``dbus``: | ||
88 | |||
89 | ```bash | ||
90 | ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents | ||
91 | launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist | ||
92 | ``` | ||
93 | |||
94 | If you want to use ``gettext`` you'll also need ''autopoint'' to your ''$PATH'' your in '~/.profile' file or similar. If the file doesn't exist user ``nano`` to create it, for instance: | ||
95 | |||
96 | ```bash | ||
97 | cd ~/ | ||
98 | nano .profile | ||
99 | export PATH="$(brew --prefix gettext)/bin:$PATH" | ||
100 | ``` | ||
101 | |||
102 | ### Step 3: Install and configure SSL ### | ||
103 | |||
104 | Since El Capitan, Apple no longer distributes OpenSSL headers. Fortunately you can install OpenSSL manually via Homebrew: | ||
105 | |||
106 | ```bash | ||
107 | brew install openssl | ||
108 | brew link openssl --force | ||
109 | ``` | ||
110 | |||
111 | To add flags to '~/.bashrc' or similar use: | ||
112 | |||
113 | ```bash | ||
114 | export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS" | ||
115 | export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS" | ||
116 | ``` | ||
117 | |||
118 | ### Step 4: Modify linker flags ### | ||
119 | |||
120 | > **NOTE:** | ||
121 | > This step is only necessary if you wish to build macOS App Bundles (.app). | ||
122 | |||
123 | You can do this using 'osx-packager', which is a python package for generating App Bundles and/or .dmg files for easy distribution. To download, open Terminal and run: | ||
124 | |||
125 | ```bash | ||
126 | git clone https://git.enlightenment.org/devs/jayji/osx-packager.git | ||
127 | ``` | ||
128 | For osx-packager to work properly, you must provide custom linker flags: | ||
129 | |||
130 | ```bash | ||
131 | export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}" | ||
132 | ``` | ||
133 | |||
134 | ### Step 5: Configuring the Software ### | ||
135 | |||
136 | Now that you've installed all the required packages, you can download EFL itself directly from the git repository. Open Terminal and run: | ||
137 | |||
138 | ```bash | ||
139 | git clone https://git.enlightenment.org/core/efl.git | ||
140 | ``` | ||
141 | |||
142 | This will create a a directory called *efl/*. Use ``cd`` to switch to the new directory, then compile EFL: | ||
143 | |||
144 | ```bash | ||
145 | ./autogen.sh --disable-cxx-bindings | ||
146 | make -j $(nproc) | ||
147 | ``` | ||
148 | |||
149 | Finally, install EFL with: | ||
150 | |||
151 | ```bash | ||
152 | sudo make -j $(nproc) install | ||
153 | ``` | ||
154 | |||
155 | ## Troubleshooting ## | ||
156 | |||
157 | If you are having problems compiling with installing EFL, you can also find help on any of [our IRC channels](https://www.enlightenment.org/contact) or [post a ticket to our Phabricator](https://phab.enlightenment.org). | ||
158 | |||
159 | ## Installing on Other Operating Systems ## | ||
160 | |||
161 | If you would like to install EFL on a different operating system visit the [Setting up a C Development Environment page](start.md). | ||
diff --git a/pages/docs/distros/osx-start.txt b/pages/docs/distros/osx-start.txt deleted file mode 100644 index 63c071502..000000000 --- a/pages/docs/distros/osx-start.txt +++ /dev/null | |||
@@ -1,113 +0,0 @@ | |||
1 | ~~Title: EFL on Mac OS X~~ | ||
2 | |||
3 | <note warning> | ||
4 | If you are coming here for Enlightenment (the desktop manager) on Mac OS X... sorry but Enlightenment is not supported on Mac OS X... and it is not planned in a near future (but any help is very welcomed). | ||
5 | </note> | ||
6 | |||
7 | The Enlightenment Foundation's projects mostly targets Linux platforms, therefore not everything work on Mac OS X works the first time. This is due to: | ||
8 | * the specificities of the Operating System (kernel+userland); | ||
9 | * the fact there are a very few Enlightened OS X users :-\ | ||
10 | |||
11 | This document explains how to install the EFL which are key projects to install anything else made by the Enlightenment Foundation. | ||
12 | |||
13 | |||
14 | ====== Mac OS X Homebrew Packages (for EFL USERS) ====== | ||
15 | |||
16 | Homebrew is a package manager for Mac OS X. See at http://brew.sh how to install Homebrew if it isn't already installed. | ||
17 | Then, just execute: | ||
18 | |||
19 | <code bash> | ||
20 | brew update # To make sure you have the latest versions | ||
21 | brew install efl # To install EFL | ||
22 | </code> | ||
23 | |||
24 | And that's it! Enjoy your freshly distributed EFL :-). | ||
25 | The distributed version of EFL is [[http://braumeister.org/formula/efl|1.20.4]]. | ||
26 | |||
27 | |||
28 | ====== Manual Installation (for EFL DEVELOPERS) ====== | ||
29 | |||
30 | ===== Setting up the environment ===== | ||
31 | |||
32 | You need to have the OS X CLT (Command-Line Tools) first, then install the EFL dependancies. The easiest way is by using a package manager. [[http://brew.sh|Homebrew]] is assumed to be the package manager. | ||
33 | |||
34 | <note important> | ||
35 | The CTL are not bundled with Xcode. Don't assume that they are installed if Xcode is installed. | ||
36 | </note> | ||
37 | |||
38 | To install the CTL, you should process as it follows: | ||
39 | * download the latest version of Xcode on the Mac App Store; | ||
40 | * run ''xcode-select --install'' in a terminal to install the CLT. | ||
41 | |||
42 | |||
43 | If you want to have the very latest version of EFL, here is the procedure: | ||
44 | * install the dependancies; | ||
45 | * configure the source; | ||
46 | * compile the sources and install them. | ||
47 | |||
48 | ===== Dependancies with Homebrew ===== | ||
49 | |||
50 | <code bash> | ||
51 | brew install autoconf automake libtool autoconf-archive gettext check pkg-config luajit jpeg freetype fribidi fontconfig giflib libtiff glib dbus libsndfile bullet libspectre libraw librsvg poppler gstreamer gst-plugins-good pulseaudio | ||
52 | brew migrate dbus | ||
53 | mkdir -p ~/Library/LaunchAgents | ||
54 | ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents | ||
55 | launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist | ||
56 | </code> | ||
57 | |||
58 | You need to add ''autopoint'' to your ''$PATH'' if you want to use gettext. Write the line below in your ''$HOME/.profile'' or similar file. | ||
59 | |||
60 | <code bash> | ||
61 | export PATH="$(brew --prefix gettext)/bin:$PATH" | ||
62 | </code> | ||
63 | |||
64 | ===== OpenSSL handling ===== | ||
65 | |||
66 | Since Mac OS X El Capitan, Apple does not distribute OpenSSL headers anymore. | ||
67 | It is necessary to install OpenSLL manually through homebrew: | ||
68 | |||
69 | <code bash> | ||
70 | brew install openssl | ||
71 | brew link openssl --force | ||
72 | </code> | ||
73 | |||
74 | and to add flags to your bashrc (or equivalent): | ||
75 | |||
76 | <code bash> | ||
77 | export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS" | ||
78 | export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS" | ||
79 | </code> | ||
80 | |||
81 | ===== Modifying your linker flags ===== | ||
82 | |||
83 | <note> | ||
84 | This step is **required** if you wish to build Mac OS X App Bundles (i.e. ''.app''). Otherwise, you can safely ignore this section. | ||
85 | </note> | ||
86 | |||
87 | ''osx-packager'' is a python package initially developed at Open Wide to | ||
88 | generate App Bundles and/or DMG files for easy distribution. | ||
89 | It is available at [[https://git.enlightenment.org/devs/jayji/osx-packager.git]]. | ||
90 | |||
91 | To make it work, you **MUST** provide custom linker flags: | ||
92 | |||
93 | <code bash> | ||
94 | export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}" | ||
95 | </code> | ||
96 | |||
97 | ===== Configuring, Building and Installing EFL ===== | ||
98 | |||
99 | Installing dependancies on OS X is painful, but now you did it (congrats'), you can grab the sources from the git repository: | ||
100 | |||
101 | <code bash> | ||
102 | git clone https://git.enlightenment.org/core/efl.git # Get the sources | ||
103 | cd efl # Go to repository you cloned | ||
104 | ./autogen.sh --disable-cxx-bindings | ||
105 | make -j $(nproc) # Compile | ||
106 | sudo make -j $(nproc) install # Install | ||
107 | </code> | ||
108 | |||
109 | |||
110 | ======= Additional Resources ======= | ||
111 | |||
112 | * Enlightenment Developer Days 2016 Slides (EFL & Mac OS X slides): https://phab.enlightenment.org/F36470. | ||
113 | * Internal Wiki Page. Contains “legacy” information: https://phab.enlightenment.org/w/osx/. \ No newline at end of file | ||