1 # ====================================================================
5 # MicroWindows configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
13 ## eCos is free software; you can redistribute it and/or modify it under
14 ## the terms of the GNU General Public License as published by the Free
15 ## Software Foundation; either version 2 or (at your option) any later version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 # ====================================================================
41 ######DESCRIPTIONBEGIN####
44 # Original data: jskov
48 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_MICROWINDOWS {
53 display "MicroWindows"
55 requires CYGPKG_POSIX_TIMERS
56 requires CYGPKG_ISOINFRA
57 requires CYGINT_ISO_C_TIME_TYPES
58 requires CYGINT_ISO_STRERROR
59 requires CYGINT_ISO_ERRNO
60 requires CYGINT_ISO_ERRNO_CODES
61 requires CYGINT_ISO_MALLOC
62 requires CYGINT_ISO_STRING_BSD_FUNCS
63 requires CYGPKG_IO_FILEIO
64 requires CYGPKG_NET_STACK_INET
65 description "Microwindows."
67 # Note: separating the stack implementation from the common support leads
68 # to some rather incestious config file relationships.
82 drivers/fbportrait_down.c \
83 drivers/fbportrait_left.c \
84 drivers/fbportrait_right.c \
133 fonts/winFreeSansSerif11x13.c \
134 fonts/winFreeSystem14x16.c \
139 cdl_component CYGBLD_MICROWINDOWS_ECOS {
140 display "Build MicroWindows eCos support"
143 # These files are unique to eCos
144 compile ecos/ecos_init.c
145 compile -library=libextras.a ecos/nanox_thread.c
147 cdl_option CYGBLD_MICROWINDOWS_ECOS_APP {
148 display "Build complete eCos+MicroWindows application"
151 <PREFIX>/bin/ecos_mw.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a $(REPOSITORY)/$(PACKAGE)/src/ecos/ecos_app.c
152 @sh -c "mkdir -p $(dir $@)"
153 $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/ecos_app.o $(REPOSITORY)/$(PACKAGE)/src/ecos/ecos_app.c
154 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/ecos_app.o
160 # eCos VNC server drivers
161 cdl_option CYGBLD_MICROWINDOWS_VNC_DRIVERS {
162 display "Build MicroWindows VNC server drivers"
165 "This option builds the drivers for the VNC server. The VNC server
166 then provides a virtual screen, keyboard and mouse for MicroWindows."
169 drivers/scr_vnc_ecos.c \
170 drivers/kbd_vnc_ecos.c \
171 drivers/mou_vnc_ecos.c
173 requires CYGBLD_MICROWINDOWS_ECOS
174 requires CYGBLD_MICROWINDOWS_NANOWM
175 requires CYGPKG_VNC_SERVER
176 requires !CYGBLD_MICROWINDOWS_ARM_DRIVERS
177 requires CYGPKG_VNC_SERVER_BUILD_MOUSE_DRIVER
178 requires CYGPKG_VNC_SERVER_BUILD_KEYBOARD_DRIVER
182 cdl_option CYGBLD_MICROWINDOWS_ARM_DRIVERS {
183 display "Build MicroWindows ARM drivers"
184 default_value CYGPKG_HAL_ARM
192 requires CYGBLD_MICROWINDOWS_ECOS
193 requires CYGBLD_MICROWINDOWS_NANOWM
194 requires CYGBLD_MICROWINDOWS_NXKBD
195 requires CYGBLD_MICROWINDOWS_NANOX_DEMOS
197 # This should come from the HAL
198 requires { !CYGPKG_HAL_ARM_SA11X0_IPAQ || is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565") }
199 requires { !CYGPKG_HAL_ARM_ARM9_AAED2000 || is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR555") }
203 cdl_component CYGPKG_MICROWINDOWS_PC {
204 display "Build options for PC hardware"
206 active_if (CYGPKG_HAL_I386_PCMB && !CYGBLD_MICROWINDOWS_VNC_DRIVERS)
207 compile drivers/ps2kbdmou_ecos.c
209 requires CYGBLD_MICROWINDOWS_ECOS
211 cdl_option CYGIMP_MICROWINDOWS_PCSVGA32 {
212 display "Assume 32 bits per pixel, RGB == 0888"
214 "This mode can be used when building for a standard PC,
215 where bootstrap is handled via RedBoot. A custom version
216 of RedBoot is required, configured to switch the graphics
217 card to a suitable resolution before the processor enters
218 protected mode. A VESA-compliant video BIOS is used for
219 this. The graphics mode should be 32 bits per pixel true-color."
221 implements CYGINT_MICROWINDOWS_PC_DRIVER
223 compile drivers/scr_ecospcsvga.c
224 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
225 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565 ") }
226 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
229 cdl_option CYGIMP_MICROWINDOWS_PCSVGA16 {
230 display "Assume 16 bits per pixel, RGB == 565"
232 "This mode can be used when building for a standard PC,
233 where bootstrap is handled via RedBoot. A custom version
234 of RedBoot is required, configured to switch the graphics
235 card to a suitable resolution before the processor enters
236 protected mode. A VESA-compliant video BIOS is used for
237 this. The graphics mode should be 16 bits per pixel true-color."
239 implements CYGINT_MICROWINDOWS_PC_DRIVER
241 compile drivers/scr_ecospcsvga.c
242 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
243 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565 ") }
244 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
247 cdl_option CYGIMP_MICROWINDOWS_PCVGA {
248 display "Build for VGA hardware"
250 "This driver manipulates VGA hardware directly, rather than
251 going via the video BIOS. Only a limited resolution of
252 640x480 with 4 bits per pixel is available. The driver
253 does not implement all required microwindows functionality."
255 implements CYGINT_MICROWINDOWS_PC_DRIVER
257 compile drivers/scr_bios.c drivers/vgainit.c drivers/vgaplan4.c drivers/memplan4.c
258 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
259 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
262 cdl_interface CYGINT_MICROWINDOWS_PC_DRIVER {
263 display "Number of active PC graphics drivers"
264 requires { CYGINT_MICROWINDOWS_PC_DRIVER == 1 }
270 cdl_option CYGBLD_MICROWINDOWS_NANOWM {
271 display "Build MicroWindows NANOWM"
275 demos/nanowm/nanowm.c \
276 demos/nanowm/events.c \
277 demos/nanowm/wlist.c \
278 demos/nanowm/clients.c \
279 demos/nanowm/actions.c
280 compile -library=libextras.a ecos/nanowm_thread.c
284 cdl_option CYGBLD_MICROWINDOWS_NXKBD {
285 display "Build MicroWindows NXKBD"
289 demos/nxkbd/nxkbd.c \
290 demos/nxkbd/srvconn.c \
291 demos/nxkbd/keynorm.c \
292 demos/nxkbd/keyctrl.c \
293 demos/nxkbd/keyshft.c \
298 cdl_component CYGBLD_MICROWINDOWS_NANOX_DEMOS {
299 display "Build MicroWindows NanoX demos"
302 cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS_WORLD {
303 display "Include 'world' demo"
306 compile demos/nanox/world.c
307 compile -library=libextras.a ecos/world_thread.c
310 cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS_NTETRIS {
311 display "Include 'nano-tetris' demo"
314 compile demos/nanox/ntetris.c
315 compile -library=libextras.a ecos/ntetris_thread.c
319 cdl_component CYGPKG_MICROWINDOWS_OPTIONS {
320 display "Build options"
324 Package specific build options including control over
325 compiler flags used only in building this package,
326 and details of which tests are built."
329 cdl_option CYGPKG_MICROWINDOWS_CFLAGS_ADD {
330 display "Additional compiler flags"
333 default_value { "-I$(PREFIX)/include/microwin -D__ECOS=1 -DMSDOS=0 -DELKS=0 -D__rtems__=0 -D_MINIX=0 -DNOTYET=0 -DUNIX=1 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DxHAVE_JPEG_SUPPORT=1 -DHAVESELECT=1" }
335 This option modifies the set of compiler flags for
336 building the MicroWindows package.
337 These flags are used in addition to the set of global flags."
340 cdl_option CYGPKG_MICROWINDOWS_CFLAGS_REMOVE {
341 display "Suppressed compiler flags"
346 This option modifies the set of compiler flags for
347 building the MicroWindows package.
348 These flags are removed from the set of global flags