diff options
author | Nate Drake <nate.drake@gmx.com> | 2017-12-14 06:14:11 -0800 |
---|---|---|
committer | apache <apache@e5-web1.enlightenment.org> | 2017-12-14 06:14:11 -0800 |
commit | be1a7764c196df4a84264a270e6b4a32fbbfbc6f (patch) | |
tree | 2816bd24ba19338c3b0d832aaea65581f2f445bb /pages/docs | |
parent | 13fc34c61d26a2b2714007facd311f5ac16f1e25 (diff) |
Wiki page osx-start.md changed with summary [created] by Nate Drake
Diffstat (limited to 'pages/docs')
-rw-r--r-- | pages/docs/playground/osx-start.md.txt | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/pages/docs/playground/osx-start.md.txt b/pages/docs/playground/osx-start.md.txt new file mode 100644 index 000000000..cc0f93f8b --- /dev/null +++ b/pages/docs/playground/osx-start.md.txt | |||
@@ -0,0 +1,114 @@ | |||
1 | ~~Title: EFL on Mac OS X~~ | ||
2 | ~~NOCACHE~~ | ||
3 | |||
4 | <note warning> | ||
5 | 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). | ||
6 | </note> | ||
7 | |||
8 | 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: | ||
9 | * the specificities of the Operating System (kernel+userland); | ||
10 | * the fact there are a very few Enlightened OS X users :-\ | ||
11 | |||
12 | This document explains how to install the EFL which are key projects to install anything else made by the Enlightenment Foundation. | ||
13 | |||
14 | |||
15 | ====== Mac OS X Homebrew Packages (for EFL USERS) ====== | ||
16 | |||
17 | Homebrew is a package manager for Mac OS X. See at http://brew.sh how to install Homebrew if it isn't already installed. | ||
18 | Then, just execute: | ||
19 | |||
20 | <code bash> | ||
21 | brew update # To make sure you have the latest versions | ||
22 | brew install efl # To install EFL | ||
23 | </code> | ||
24 | |||
25 | And that's it! Enjoy your freshly distributed EFL :-). | ||
26 | The distributed version of EFL is [[http://braumeister.org/formula/efl|1.20.4]]. | ||
27 | |||
28 | |||
29 | ====== Manual Installation (for EFL DEVELOPERS) ====== | ||
30 | |||
31 | ===== Setting up the environment ===== | ||
32 | |||
33 | 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. | ||
34 | |||
35 | <note important> | ||
36 | The CTL are not bundled with Xcode. Don't assume that they are installed if Xcode is installed. | ||
37 | </note> | ||
38 | |||
39 | To install the CTL, you should process as it follows: | ||
40 | * download the latest version of Xcode on the Mac App Store; | ||
41 | * run ''xcode-select --install'' in a terminal to install the CLT. | ||
42 | |||
43 | |||
44 | If you want to have the very latest version of EFL, here is the procedure: | ||
45 | * install the dependancies; | ||
46 | * configure the source; | ||
47 | * compile the sources and install them. | ||
48 | |||
49 | ===== Dependancies with Homebrew ===== | ||
50 | |||
51 | <code bash> | ||
52 | 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 | ||
53 | brew migrate dbus | ||
54 | mkdir -p ~/Library/LaunchAgents | ||
55 | ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents | ||
56 | launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist | ||
57 | </code> | ||
58 | |||
59 | 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. | ||
60 | |||
61 | <code bash> | ||
62 | export PATH="$(brew --prefix gettext)/bin:$PATH" | ||
63 | </code> | ||
64 | |||
65 | ===== OpenSSL handling ===== | ||
66 | |||
67 | Since Mac OS X El Capitan, Apple does not distribute OpenSSL headers anymore. | ||
68 | It is necessary to install OpenSLL manually through homebrew: | ||
69 | |||
70 | <code bash> | ||
71 | brew install openssl | ||
72 | brew link openssl --force | ||
73 | </code> | ||
74 | |||
75 | and to add flags to your bashrc (or equivalent): | ||
76 | |||
77 | <code bash> | ||
78 | export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS" | ||
79 | export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS" | ||
80 | </code> | ||
81 | |||
82 | ===== Modifying your linker flags ===== | ||
83 | |||
84 | <note> | ||
85 | This step is **required** if you wish to build Mac OS X App Bundles (i.e. ''.app''). Otherwise, you can safely ignore this section. | ||
86 | </note> | ||
87 | |||
88 | ''osx-packager'' is a python package initially developed at Open Wide to | ||
89 | generate App Bundles and/or DMG files for easy distribution. | ||
90 | It is available at [[https://git.enlightenment.org/devs/jayji/osx-packager.git]]. | ||
91 | |||
92 | To make it work, you **MUST** provide custom linker flags: | ||
93 | |||
94 | <code bash> | ||
95 | export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}" | ||
96 | </code> | ||
97 | |||
98 | ===== Configuring, Building and Installing EFL ===== | ||
99 | |||
100 | Installing dependancies on OS X is painful, but now you did it (congrats'), you can grab the sources from the git repository: | ||
101 | |||
102 | <code bash> | ||
103 | git clone https://git.enlightenment.org/core/efl.git # Get the sources | ||
104 | cd efl # Go to repository you cloned | ||
105 | ./autogen.sh --disable-cxx-bindings | ||
106 | make -j $(nproc) # Compile | ||
107 | sudo make -j $(nproc) install # Install | ||
108 | </code> | ||
109 | |||
110 | |||
111 | ======= Additional Resources ======= | ||
112 | |||
113 | * Enlightenment Developer Days 2016 Slides (EFL & Mac OS X slides): https://phab.enlightenment.org/F36470. | ||
114 | * Internal Wiki Page. Contains “legacy” information: https://phab.enlightenment.org/w/osx/. \ No newline at end of file | ||