Blindly add a few stuff from VST
[juce-lv2.git] / juce / source / src / native / linux / juce_linux_NativeIncludes.h
blob693b0f4f9454cf8d43f4df0787a1851cc6aad464
1 /*
2 ==============================================================================
4 This file is part of the JUCE library - "Jules' Utility Class Extensions"
5 Copyright 2004-11 by Raw Material Software Ltd.
7 ------------------------------------------------------------------------------
9 JUCE can be redistributed and/or modified under the terms of the GNU General
10 Public License (Version 2), as published by the Free Software Foundation.
11 A copy of the license is included in the JUCE distribution, or can be found
12 online at www.gnu.org/licenses.
14 JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
15 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
18 ------------------------------------------------------------------------------
20 To release a closed-source product which uses JUCE, commercial licenses are
21 available: visit www.rawmaterialsoftware.com/juce for more information.
23 ==============================================================================
26 #ifndef __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__
27 #define __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__
30 This file wraps together all the linux-specific headers, so
31 that we can include them all just once, and compile all our
32 platform-specific stuff in one big lump, keeping it out of the
33 way of the rest of the codebase.
36 #include <sched.h>
37 #include <pthread.h>
38 #include <sys/time.h>
39 #include <errno.h>
40 #include <sys/stat.h>
41 #include <sys/dir.h>
42 #include <sys/ptrace.h>
43 #include <sys/vfs.h>
44 #include <sys/wait.h>
45 #include <sys/mman.h>
46 #include <fnmatch.h>
47 #include <utime.h>
48 #include <pwd.h>
49 #include <fcntl.h>
50 #include <dlfcn.h>
51 #include <netdb.h>
52 #include <arpa/inet.h>
53 #include <netinet/in.h>
54 #include <sys/types.h>
55 #include <sys/ioctl.h>
56 #include <sys/socket.h>
57 #include <net/if.h>
58 #include <sys/sysinfo.h>
59 #include <sys/file.h>
60 #include <sys/prctl.h>
61 #include <signal.h>
63 /* Got a build error here? You'll need to install the freetype library...
64 The name of the package to install is "libfreetype6-dev".
66 #include <ft2build.h>
67 #include FT_FREETYPE_H
69 #include <X11/Xlib.h>
70 #include <X11/Xatom.h>
71 #include <X11/Xresource.h>
72 #include <X11/Xutil.h>
73 #include <X11/Xmd.h>
74 #include <X11/keysym.h>
75 #include <X11/cursorfont.h>
77 #if JUCE_USE_XINERAMA
78 /* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. */
79 #include <X11/extensions/Xinerama.h>
80 #endif
82 #if JUCE_USE_XSHM
83 #include <X11/extensions/XShm.h>
84 #include <sys/shm.h>
85 #include <sys/ipc.h>
86 #endif
88 #if JUCE_USE_XRENDER
89 // If you're missing these headers, try installing the libxrender-dev and libxcomposite-dev
90 #include <X11/extensions/Xrender.h>
91 #include <X11/extensions/Xcomposite.h>
92 #endif
94 #if JUCE_USE_XCURSOR
95 // If you're missing this header, try installing the libxcursor-dev package
96 #include <X11/Xcursor/Xcursor.h>
97 #endif
99 #if JUCE_OPENGL
100 /* Got an include error here?
102 If you want to install OpenGL support, the packages to get are "mesa-common-dev"
103 and "freeglut3-dev".
105 Alternatively, you can turn off the JUCE_OPENGL flag in juce_Config.h if you
106 want to disable it.
108 #include <GL/glx.h>
109 #endif
111 #undef KeyPress
113 #if JUCE_ALSA
114 /* Got an include error here? If so, you've either not got ALSA installed, or you've
115 not got your paths set up correctly to find its header files.
117 The package you need to install to get ASLA support is "libasound2-dev".
119 If you don't have the ALSA library and don't want to build Juce with audio support,
120 just disable the JUCE_ALSA flag in juce_Config.h
122 #include <alsa/asoundlib.h>
123 #endif
125 #if JUCE_JACK
126 /* Got an include error here? If so, you've either not got jack-audio-connection-kit
127 installed, or you've not got your paths set up correctly to find its header files.
129 The package you need to install to get JACK support is "libjack-dev".
131 If you don't have the jack-audio-connection-kit library and don't want to build
132 Juce with low latency audio support, just disable the JUCE_JACK flag in juce_Config.h
134 #include <jack/jack.h>
135 //#include <jack/transport.h>
136 #endif
138 #undef SIZEOF
140 #endif // __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__