# Linux Flags

**URL:** <https://forum.juce.com/t/linux-flags/21807>\
**Category:** Linux\
**Created:** [April 13, 2017, 10:08am UTC](https://forum.juce.com/t/linux-flags/21807 "2017-04-13T10:08:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![leehu](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/leehu/32/3280_2.png) [@leehu](https://forum.juce.com/u/leehu)\
**Post date:** [April 13, 2017, 10:08am UTC](https://forum.juce.com/t/linux-flags/21807/1 "2017-04-13T10:08:28Z")

</div>

Hi, what controls certain flags in the generated Makefile? If I look at the Makefile for Projucer it has the following:

$(shell pkg-config --cflags alsa freetype2 gtk±x11-3.0 libcurl webkit2gtk-4.0 x11 xext xinerama)

as part of CFLAGS. Yet when I create my own makefile, it is missing the gtk±x11-3.0 and webkit2gtk-4.0 entries, thus causing builds to fail on Ubuntu.

I can add these in manually, but wondered if they are controlled by some flags somewhere? thx

---

<div class="post-metadata">

**Author:** ![fr810](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/fr810/32/841_2.png) [@fr810](https://forum.juce.com/u/fr810)\
**Post date:** [April 15, 2017, 11:03am UTC](https://forum.juce.com/t/linux-flags/21807/2 "2017-04-15T11:03:18Z")

</div>

It depends on which juce modules you add to your project. For example, if you look at `juce_modules/juce_audio_devices/juce_audio_devices.h`, you’ll find the `linuxPackages` line in the header of the module. The `gtk+-x11` and `webkit2gtk` modules are needed by juce\_gui\_extra for the webview. However, if you’re app does not use the webview and you link with the [`--as-needed`](http://www.bnikolic.co.uk/blog/gnu-ld-as-needed.html) option, then your binary will not depend on `gtk+-x11` and `webkit2gtk` and your customers will not need to install these packages.

---

<div class="post-metadata">

**Author:** ![leehu](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/leehu/32/3280_2.png) [@leehu](https://forum.juce.com/u/leehu)\
**Post date:** [April 19, 2017, 10:45pm UTC](https://forum.juce.com/t/linux-flags/21807/3 "2017-04-19T22:45:36Z")

</div>

thx for the info…

---

<div class="post-metadata">

**Author:** ![Jnv](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/jnv/32/11862_2.png) [@Jnv](https://forum.juce.com/u/Jnv)\
**Post date:** [May 21, 2017, 11:53am UTC](https://forum.juce.com/t/linux-flags/21807/4 "2017-05-21T11:53:04Z")

</div>

I encounter the same problem. I don’t need the Webview, but I can’t make this “as-needed” flag work. I manually removed the dependencies in the Makefile, but this is of course no ideal, since the Projucer is likely to put them back.

Is there an option in the Projucer to put this “as-needed” flag? I (naively) added it to every flag I found in the Projucer, but nothing worked.

Thanks.

---

<div class="post-metadata">

**Author:** ![fr810](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/fr810/32/841_2.png) [@fr810](https://forum.juce.com/u/fr810)\
**Post date:** [May 21, 2017, 1:48pm UTC](https://forum.juce.com/t/linux-flags/21807/5 "2017-05-21T13:48:03Z")

</div>

This has been fixed on develop now. See [this](https://forum.juce.com/t/projucer-requires-webkit2gtk-4-0-pc-on-linux/22436/7) thread.

You’ll need to rebuild the projucer from develop, disable the webview and then re-save your .jucer project:

 ![](https://us1.discourse-cdn.com/flex026/uploads/juce/original/2X/7/7e620a3501cfa3cee7f447ed8e510700140936c9.png)
