summaryrefslogtreecommitdiff
path: root/pages/docs/playground/osx-start.md.txt
diff options
context:
space:
mode:
authorNate Drake <nate.drake@gmx.com>2017-12-14 06:14:11 -0800
committerapache <apache@e5-web1.enlightenment.org>2017-12-14 06:14:11 -0800
commitbe1a7764c196df4a84264a270e6b4a32fbbfbc6f (patch)
tree2816bd24ba19338c3b0d832aaea65581f2f445bb /pages/docs/playground/osx-start.md.txt
parent13fc34c61d26a2b2714007facd311f5ac16f1e25 (diff)
Wiki page osx-start.md changed with summary [created] by Nate Drake
Diffstat (limited to '')
-rw-r--r--pages/docs/playground/osx-start.md.txt114
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>
5If 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
8The 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
12This 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
17Homebrew is a package manager for Mac OS X. See at http://brew.sh how to install Homebrew if it isn't already installed.
18Then, just execute:
19
20<code bash>
21brew update # To make sure you have the latest versions
22brew install efl # To install EFL
23</code>
24
25And that's it! Enjoy your freshly distributed EFL :-).
26The 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
33You 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>
36The CTL are not bundled with Xcode. Don't assume that they are installed if Xcode is installed.
37</note>
38
39To 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
44If 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>
52brew 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
53brew migrate dbus
54mkdir -p ~/Library/LaunchAgents
55ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents
56launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
57</code>
58
59You 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>
62export PATH="$(brew --prefix gettext)/bin:$PATH"
63</code>
64
65===== OpenSSL handling =====
66
67Since Mac OS X El Capitan, Apple does not distribute OpenSSL headers anymore.
68It is necessary to install OpenSLL manually through homebrew:
69
70<code bash>
71brew install openssl
72brew link openssl --force
73</code>
74
75and to add flags to your bashrc (or equivalent):
76
77<code bash>
78export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS"
79export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
80</code>
81
82===== Modifying your linker flags =====
83
84<note>
85This 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
89generate App Bundles and/or DMG files for easy distribution.
90It is available at [[https://git.enlightenment.org/devs/jayji/osx-packager.git]].
91
92To make it work, you **MUST** provide custom linker flags:
93
94<code bash>
95export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}"
96</code>
97
98===== Configuring, Building and Installing EFL =====
99
100Installing 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>
103git clone https://git.enlightenment.org/core/efl.git # Get the sources
104cd efl # Go to repository you cloned
105./autogen.sh --disable-cxx-bindings
106make -j $(nproc) # Compile
107sudo 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