summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorAndrew Williams <andy@andywilliams.me>2018-01-05 07:57:49 -0800
committerapache <apache@e5-web1.enlightenment.org>2018-01-05 07:57:49 -0800
commit925a4f6d10748aa3bec580999c211a12dd2533af (patch)
tree297f8a49a2289e2ff68a01ec66285f69d0e88736 /pages
parent0e1b2f5ec535e7f4854d0dd859831f0f1d09d788 (diff)
Wiki page navigation changed with summary [] by Andrew Williams
Diffstat (limited to 'pages')
-rw-r--r--pages/develop/setup/c/macos.md.txt175
-rw-r--r--pages/docs/navigation.txt4
2 files changed, 2 insertions, 177 deletions
diff --git a/pages/develop/setup/c/macos.md.txt b/pages/develop/setup/c/macos.md.txt
deleted file mode 100644
index 59acc8dcb..000000000
--- a/pages/develop/setup/c/macos.md.txt
+++ /dev/null
@@ -1,175 +0,0 @@
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
13This 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
15The 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
17This document explains how to install EFL using either the [Homebrew package manager](https://brew.sh/) or by building from source via git.
18
19Whichever 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
23Homebrew is an unofficial package manager for macOS which you can install a number of programs that aren't available in macOS by default.
24
25To 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
31The 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
33Homebrew should run an update prior to installing any new software but double check this by running:
34
35```bash
36brew update
37```
38
39Next install EFL with:
40
41```bash
42brew install efl
43```
44
45The distributed version of EFL is [1.20.6](http://braumeister.org/formula/efl).
46
47## Installing from Git ##
48
49Installing 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
53If 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
56xcode-select --install
57```
58
59### Step 2: Installing Dependencies ###
60
61The 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
67The 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
69Homebrew should run an update prior to installing any new software but double check this by running:
70
71```bash
72brew update
73```
74
75Next install the dependencies with:
76
77```bash
78brew 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
79brew migrate dbus
80```
81If 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
84mkdir -p ~/Library/LaunchAgents
85```
86
87Next use ``launchctl`` to automatically start and stop ``dbus``:
88
89```bash
90ln -sfv /usr/local/opt/dbus/*.plist ~/Library/LaunchAgents
91launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
92```
93
94If 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
97cd ~/
98nano .profile
99export PATH="$(brew --prefix gettext)/bin:$PATH"
100```
101
102### Step 3: Install and configure SSL ###
103
104Since El Capitan, Apple no longer distributes OpenSSL headers. Fortunately you can install OpenSSL manually via Homebrew:
105
106```bash
107brew install openssl
108brew link openssl --force
109```
110
111To add flags to '~/.bashrc' or similar use:
112
113```bash
114export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS"
115export 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
123You 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
126git clone https://git.enlightenment.org/devs/jayji/osx-packager.git
127```
128For osx-packager to work properly, you must provide custom linker flags:
129
130```bash
131export LDFLAGS="-Wl,-headerpad_max_install_names ${LDFLAGS}"
132```
133
134### Step 5: Configuring the Software ###
135
136Now 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
139git clone https://git.enlightenment.org/core/efl.git
140```
141
142This 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
146make -j $(nproc)
147```
148
149Finally, install EFL with:
150
151```bash
152sudo make -j $(nproc) install
153```
154
155## Compiling EFL Applications ###
156
157With EFL installed you can start compiling the applications you write using Enlightenment technologies:
158
159```bash
160gcc -o your_app your_app.c `pkg-config --cflags --libs eina efl elementary`
161```
162
163Substitute``your_app`` for the name of the app you want to build and ``your_app.c`` for the file containing source code of your application.
164
165If the compilation is successful this will create an executable application called *your_app* in the directory. You can run this app like any other program.
166
167## Troubleshooting ##
168
169If you get errors when you compile the examples in this guide, you may be using an out of date version of EFL. Update your libraries installing from [EFL's git repository](#Installing_From_Git).
170
171If 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).
172
173## Installing on Other Operating Systems ##
174
175If 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/navigation.txt b/pages/docs/navigation.txt
index 5f88660bf..04e557bc7 100644
--- a/pages/docs/navigation.txt
+++ b/pages/docs/navigation.txt
@@ -4,9 +4,9 @@
4 * [[/docs/distros/debian-start.md|EFL on Debian]] 4 * [[/docs/distros/debian-start.md|EFL on Debian]]
5 * [[/docs/distros/fedora-start.md|EFL on Fedora]] 5 * [[/docs/distros/fedora-start.md|EFL on Fedora]]
6 * [[/docs/distros/freebsd-start.md|EFL on FreeBSD]] 6 * [[/docs/distros/freebsd-start.md|EFL on FreeBSD]]
7 * [[/docs/distros/opensuse-start|EFL on openSUSE]] 7 * [[/docs/distros/opensuse-start.md|EFL on openSUSE]]
8 * [[/docs/distros/yocto-start|EFL on Yocto]] 8 * [[/docs/distros/yocto-start|EFL on Yocto]]
9 * [[/docs/distros/osx-start|EFL on Mac OS X]] 9 * [[/docs/distros/osx-start.md|EFL on Mac OS X]]
10 * [[/docs/c/start]] 10 * [[/docs/c/start]]
11 * [[/develop/efl/|Getting started with EFL Development]] 11 * [[/develop/efl/|Getting started with EFL Development]]
12 * [[/develop/legacy/api/c/|EFL API (C language)]] 12 * [[/develop/legacy/api/c/|EFL API (C language)]]