[SCM] juce/master: Updated README.Debian
umlaeute at users.alioth.debian.org
umlaeute at users.alioth.debian.org
Thu Nov 9 23:21:55 UTC 2017
The following commit has been merged in the master branch:
commit 6e83935ab889a55f24bc5f9cbce178b8c09664f6
Author: IOhannes m zmölnig <zmoelnig at umlautS.umlaeute.mur.at>
Date: Thu Nov 9 14:15:50 2017 +0100
Updated README.Debian
diff --git a/debian/README.Debian b/debian/README.Debian
index fbce863..8c6619b 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -7,25 +7,8 @@ This is made explicit in the 'Projucer', JUCE's own software project
management workbench, that will copy (or symlink, or include otherwise) the
modules' source code into your project.
-For various reasons, Debian frowns upon static linking for distributed packages
-and instead encourages dynamic linking (see [1] for a discussion).
-
-Therefore, JUCE for Debian is built as a library ("libjuce") that has all
-(possible) features enabled.
-Debian packages of software that uses JUCE are encouraged to use this library.
-
-Developers who write their own JUCE-based applications will most likely not be
-able to use libjuce/libjuce-dev directly without concessions to the
-portability of their projects.
-
-
-[1] https://wiki.debian.org/StaticLinking
-
-
# Projucer for Debian
-If you are developing your own JUCE application, you are of course free to
-follow upstream's advice.
Installing the following packages will give you the 'Projucer' as Debian
packages while keeping your embedded-module-code workflow:
- juce-tools (contains the Projucer)
@@ -34,48 +17,22 @@ packages while keeping your embedded-module-code workflow:
The 'Projucer' as shipped with Debian has the following modification regarding
the once shipped by upstream:
-- The generated project Makefile will honour external *FLAGS (e.g. CXXFLAGS) by
- appending them to the internally used JUCE_*FLAGS.
-
- $ make CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2"
-
-- The generated project Makefile will allow verbose builds (showing you the
- actualy compiler/linker invocation)
-
- $ make V=1
-
-- The Projucer *itself* is linked against libjuce, rather than including the
- modules statically. (Though you will hopefully never notice a difference here)
-
-
-
# Debian packages that depend on JUCE
This is a quick guideline for packaging upstream software that uses JUCE for
Debian.
-- Build-Depend on 'libjuce-dev'.
-
-- Patch the project's (generated) Linux/Makefile:
- - Remove all references to the juce-modules from OBJECTS.
- AFAICT, these are the lines starting with "$(OBJDIR)/juce_".
- - For "Release" builds:
- - Add "$(shell pkg-config --cflags juce)" to the projects CFLAGS
- - Add "$(shell pkg-config --libs juce)" to the projects LDFLAGS
- (as a bonus, you can now remove *most* explicitly mentioned libraries,
- e.g. "-lX11")
- - For "Debug" builds use 'juce-dbg' instead of 'juce', but you probably don't
- want Debug builds anyhow...
-
-
-### Notes on *FLAGS
-you are probably aware that JUCE Makefiles override your
-CPPFLAGS/CFLAGS/CXXFLAGS/LDFLAGS, making it hard to apply hardening flags.
-I usually prefix these flags with JUCE_ (e.g. "CPPFLAGS" becomes
-"JUCE_CPPFLAGS") and then append the external flag ("$(CPPFLAGS)") to these.
+- Build-Depend on 'juce-modules-source'
+- Add 'Built-Using: juce-modules-source (= <<version>>)' to debian/control
+ (replace '<<version>>' with the actual version of 'juce-modules-source', as
+ obtained with
-You could recreate the Makefiles by running the project's .jucer file through
-Debian's "Projucer" (the so-generated Makefiles allow both overriding of
-*FLAGS and building verbosely), but adding 'juce-tools' to the Build-Depends is
-probably an overkill.
+ dpkg-query --show --showformat='${source:Version}' juce-modules-source
+- If needed, dynamically link against the following libraries (as
+ "juce-modules-source" does not include their sources (as opposed to upstream):
+ - libjpeg
+ - libpng
+ - libflac
+ - libogg
+ - libvorbis
--
juce packaging
More information about the pkg-multimedia-commits
mailing list