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_ISOINFRA
56 requires CYGINT_ISO_C_TIME_TYPES
57 requires CYGINT_ISO_STRERROR
58 requires CYGINT_ISO_ERRNO
59 requires CYGINT_ISO_ERRNO_CODES
60 requires CYGINT_ISO_MALLOC
61 requires CYGINT_ISO_STRING_BSD_FUNCS
62 requires CYGPKG_IO_FILEIO
63 requires CYGPKG_NET_STACK_INET
64 description "Microwindows."
66 # Note: separating the stack implementation from the common support leads
67 # to some rather incestious config file relationships.
81 drivers/fbportrait_down.c \
82 drivers/fbportrait_left.c \
83 drivers/fbportrait_right.c \
132 fonts/winFreeSansSerif11x13.c \
133 fonts/winFreeSystem14x16.c \
138 cdl_component CYGBLD_MICROWINDOWS_ECOS {
139 display "Build MicroWindows eCos support"
142 # These files are unique to eCos
143 compile ecos/ecos_init.c
144 compile -library=libextras.a ecos/nanox_thread.c
146 cdl_option CYGBLD_MICROWINDOWS_ECOS_APP {
147 display "Build complete eCos+MicroWindows application"
150 <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
151 @sh -c "mkdir -p $(dir $@)"
152 $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/ecos_app.o $(REPOSITORY)/$(PACKAGE)/src/ecos/ecos_app.c
153 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/ecos_app.o
159 # eCos VNC server drivers
160 cdl_option CYGBLD_MICROWINDOWS_VNC_DRIVERS {
161 display "Build MicroWindows VNC server drivers"
164 "This option builds the drivers for the VNC server. The VNC server
165 then provides a virtual screen, keyboard and mouse for MicroWindows."
168 drivers/scr_vnc_ecos.c \
169 drivers/kbd_vnc_ecos.c \
170 drivers/mou_vnc_ecos.c
172 requires CYGBLD_MICROWINDOWS_ECOS
173 requires CYGBLD_MICROWINDOWS_NANOWM
174 requires CYGPKG_VNC_SERVER
175 requires !CYGBLD_MICROWINDOWS_ARM_DRIVERS
176 requires CYGPKG_VNC_SERVER_BUILD_MOUSE_DRIVER
177 requires CYGPKG_VNC_SERVER_BUILD_KEYBOARD_DRIVER
181 cdl_option CYGBLD_MICROWINDOWS_ARM_DRIVERS {
182 display "Build MicroWindows ARM drivers"
183 default_value CYGPKG_HAL_ARM
191 requires CYGBLD_MICROWINDOWS_ECOS
192 requires CYGBLD_MICROWINDOWS_NANOWM
193 requires CYGBLD_MICROWINDOWS_NXKBD
194 requires CYGBLD_MICROWINDOWS_NANOX_DEMOS
196 # This should come from the HAL
197 requires { !CYGPKG_HAL_ARM_SA11X0_IPAQ || is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565") }
198 requires { !CYGPKG_HAL_ARM_ARM9_AAED2000 || is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR555") }
202 cdl_component CYGPKG_MICROWINDOWS_PC {
203 display "Build options for PC hardware"
205 active_if (CYGPKG_HAL_I386_PCMB && !CYGBLD_MICROWINDOWS_VNC_DRIVERS)
206 compile drivers/ps2kbdmou_ecos.c
208 requires CYGBLD_MICROWINDOWS_ECOS
210 cdl_option CYGIMP_MICROWINDOWS_PCSVGA32 {
211 display "Assume 32 bits per pixel, RGB == 0888"
213 "This mode can be used when building for a standard PC,
214 where bootstrap is handled via RedBoot. A custom version
215 of RedBoot is required, configured to switch the graphics
216 card to a suitable resolution before the processor enters
217 protected mode. A VESA-compliant video BIOS is used for
218 this. The graphics mode should be 32 bits per pixel true-color."
220 implements CYGINT_MICROWINDOWS_PC_DRIVER
222 compile drivers/scr_ecospcsvga.c
223 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
224 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565 ") }
225 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
228 cdl_option CYGIMP_MICROWINDOWS_PCSVGA16 {
229 display "Assume 16 bits per pixel, RGB == 565"
231 "This mode can be used when building for a standard PC,
232 where bootstrap is handled via RedBoot. A custom version
233 of RedBoot is required, configured to switch the graphics
234 card to a suitable resolution before the processor enters
235 protected mode. A VESA-compliant video BIOS is used for
236 this. The graphics mode should be 16 bits per pixel true-color."
238 implements CYGINT_MICROWINDOWS_PC_DRIVER
240 compile drivers/scr_ecospcsvga.c
241 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
242 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565 ") }
243 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
246 cdl_option CYGIMP_MICROWINDOWS_PCVGA {
247 display "Build for VGA hardware"
249 "This driver manipulates VGA hardware directly, rather than
250 going via the video BIOS. Only a limited resolution of
251 640x480 with 4 bits per pixel is available. The driver
252 does not implement all required microwindows functionality."
254 implements CYGINT_MICROWINDOWS_PC_DRIVER
256 compile drivers/scr_bios.c drivers/vgainit.c drivers/vgaplan4.c drivers/memplan4.c
257 requires { is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_PALETTE ") }
258 requires { !is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 ") }
261 cdl_interface CYGINT_MICROWINDOWS_PC_DRIVER {
262 display "Number of active PC graphics drivers"
263 requires { CYGINT_MICROWINDOWS_PC_DRIVER == 1 }
269 cdl_option CYGBLD_MICROWINDOWS_NANOWM {
270 display "Build MicroWindows NANOWM"
274 demos/nanowm/nanowm.c \
275 demos/nanowm/events.c \
276 demos/nanowm/wlist.c \
277 demos/nanowm/clients.c \
278 demos/nanowm/actions.c
279 compile -library=libextras.a ecos/nanowm_thread.c
283 cdl_option CYGBLD_MICROWINDOWS_NXKBD {
284 display "Build MicroWindows NXKBD"
288 demos/nxkbd/nxkbd.c \
289 demos/nxkbd/srvconn.c \
290 demos/nxkbd/keynorm.c \
291 demos/nxkbd/keyctrl.c \
292 demos/nxkbd/keyshft.c \
297 cdl_component CYGBLD_MICROWINDOWS_NANOX_DEMOS {
298 display "Build MicroWindows NanoX demos"
301 cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS_WORLD {
302 display "Include 'world' demo"
305 compile demos/nanox/world.c
306 compile -library=libextras.a ecos/world_thread.c
309 cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS_NTETRIS {
310 display "Include 'nano-tetris' demo"
313 compile demos/nanox/ntetris.c
314 compile -library=libextras.a ecos/ntetris_thread.c
318 cdl_component CYGPKG_MICROWINDOWS_OPTIONS {
319 display "Build options"
323 Package specific build options including control over
324 compiler flags used only in building this package,
325 and details of which tests are built."
328 cdl_option CYGPKG_MICROWINDOWS_CFLAGS_ADD {
329 display "Additional compiler flags"
332 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" }
334 This option modifies the set of compiler flags for
335 building the MicroWindows package.
336 These flags are used in addition to the set of global flags."
339 cdl_option CYGPKG_MICROWINDOWS_CFLAGS_REMOVE {
340 display "Suppressed compiler flags"
345 This option modifies the set of compiler flags for
346 building the MicroWindows package.
347 These flags are removed from the set of global flags