Move the NX components out of libc and into its own library, libnx

This commit is contained in:
Gregory Nutt
2013-12-28 08:40:03 -06:00
parent 090a18f863
commit a457105a0b
76 changed files with 632 additions and 94 deletions
+2 -1
View File
@@ -6326,4 +6326,5 @@
reshuffling is necessary if we ever want to build graphics applications
as kernel builds. There is still more today (NXTK and NXFONTS need to
be moved to libc as well) (2013-12-27).
* Move libc/nx, nxmu, and nxglib to a new library, libnx. The NX
graphics is not properly a part of libc (2013-12-28).
+19 -3
View File
@@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NX Graphics Subsystem</i>
</font></big></h1>
<p>Last Updated: May 7, 2012</p>
<p>Last Updated: December 28, 2013</p>
</td>
</tr>
</table>
@@ -3144,9 +3144,20 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
</tr>
</table>
<p>
The graphics capability consist both of components internal to the RTOS and of user-callable interfaces.
In the NuttX kernel mode build there are some components of the graphics subsystem are callable in user mode and other components that are internal to the RTOS.
The directory <code>nuttx/graphics</code> contains only those components that are internal to the RTOS.
User callable functions must be part of a library that can be linked against user applications.
This user callable interfaces are provided in sub-directories under <code>nuttx/libnx</code>.
<p>
<ul>
<dl>
<dt><code>graphics/nxglib</code>
<dt><code>libnx/nx</code>
<dd>Common callable interfaces that are, logically, part of both nxmu and nxsu.
<dt><code>graphics/nxglib</code> and <code>libnx/nxglib</code>
<dd>The NuttX tiny graphics library.
The directory contains generic utilities support operations on primitive graphics objects
and logic to rasterize directly into a framebuffer or through an LCD driver interface.
@@ -3168,7 +3179,12 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
The single user front-end is selected when <code>CONFIG_NX_MULTIUSER</code> is not
defined in the NuttX configuration file.
<dt><code>graphics/nxsu</code>
<blockquote>
NOTE: There is no nxsu sub-directory in nuttx/libnx.
That is because this separation of interfaces is only required in the kernel build mode and only the multi-user interfaces can be used with the kernel build.
</blockquote>
<dt><code>graphics/nxmu</code> and <code>libnx/nxmu</code>
<dd>This is the NX multi user <i>front end</i>.
When combined with the generic <i>back-end</i> (<code>nxbe</code>), it implements a
multi-threaded, multi-user windowing system.
+2
View File
@@ -255,6 +255,8 @@
| | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/lib/README.txt">README.txt</a>
| |- libc/
| | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/libc/README.txt"><b><i>README.txt</i></b></a>
| |- libnx/
| | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/libnx/README.txt"><b><i>README.txt</i></b></a>
| |- libxx/
| | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/libxx/README.txt"><b><i>README.txt</i></b></a>
| |- mm/
+27 -3
View File
@@ -134,10 +134,10 @@ endif
endif
ifeq ($(CONFIG_NX),y)
NONFSDIRS += graphics
CONTEXTDIRS += graphics
NONFSDIRS += graphics libnx
CONTEXTDIRS += graphics libnx
else
OTHERDIRS += graphics
OTHERDIRS += graphics libnx
endif
ifeq ($(CONFIG_AUDIO),y)
@@ -256,6 +256,12 @@ endif
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib/libgraphics$(LIBEXT)
ifeq ($(CONFIG_NUTTX_KERNEL),y)
NUTTXLIBS += lib/libknx$(LIBEXT)
USERLIBS += lib/libunx$(LIBEXT)
else
NUTTXLIBS += lib/libnx$(LIBEXT)
endif
endif
# Add libraries for the audio sub-system
@@ -471,6 +477,12 @@ libc/libkc$(LIBEXT): context
lib/libkc$(LIBEXT): libc/libkc$(LIBEXT)
$(Q) install libc/libkc$(LIBEXT) lib/libkc$(LIBEXT)
libnx/libknx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libknx$(LIBEXT) EXTRADEFINES=$(KDEFINE)
lib/libknx$(LIBEXT): libnx/libknx$(LIBEXT)
$(Q) install libnx/libknx$(LIBEXT) lib/libknx$(LIBEXT)
mm/libkmm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libkmm$(LIBEXT) EXTRADEFINES=$(KDEFINE)
@@ -540,6 +552,12 @@ libc/libuc$(LIBEXT): context
lib/libuc$(LIBEXT): libc/libuc$(LIBEXT)
$(Q) install libc/libuc$(LIBEXT) lib/libuc$(LIBEXT)
libnx/libunx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libunx$(LIBEXT)
lib/libunx$(LIBEXT): libnx/libunx$(LIBEXT)
$(Q) install libnx/libunx$(LIBEXT) lib/libunx$(LIBEXT)
mm/libumm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libumm$(LIBEXT)
@@ -579,6 +597,12 @@ libc/libc$(LIBEXT): context
lib/libc$(LIBEXT): libc/libc$(LIBEXT)
$(Q) install libc/libc$(LIBEXT) lib/libc$(LIBEXT)
libnx/libnx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libnx$(LIBEXT)
lib/libnx$(LIBEXT): libnx/libnx$(LIBEXT)
$(Q) install libnx/libnx$(LIBEXT) lib/libnx$(LIBEXT)
mm/libmm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libmm$(LIBEXT)
+27 -3
View File
@@ -127,10 +127,10 @@ endif
endif
ifeq ($(CONFIG_NX),y)
NONFSDIRS += graphics
CONTEXTDIRS += graphics
NONFSDIRS += graphics libnx
CONTEXTDIRS += graphics libnx
else
OTHERDIRS += graphics
OTHERDIRS += graphics libnx
endif
ifeq ($(CONFIG_AUDIO),y)
@@ -249,6 +249,12 @@ endif
ifeq ($(CONFIG_NX),y)
NUTTXLIBS += lib\libgraphics$(LIBEXT)
ifeq ($(CONFIG_NUTTX_KERNEL),y)
NUTTXLIBS += lib\libknx$(LIBEXT)
USERLIBS += lib\libunx$(LIBEXT)
else
NUTTXLIBS += lib\libnx$(LIBEXT)
endif
endif
# Add libraries for the Audio sub-system
@@ -487,6 +493,12 @@ libc\libkc$(LIBEXT): context
lib\libkc$(LIBEXT): libc\libkc$(LIBEXT)
$(Q) install libc\libkc$(LIBEXT) lib\libkc$(LIBEXT)
libnx\libknx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libknx$(LIBEXT) EXTRADEFINES=$(KDEFINE)
lib\libknx$(LIBEXT): libnx\libknx$(LIBEXT)
$(Q) install libnx\libknx$(LIBEXT) lib\libknx$(LIBEXT)
mm\libkmm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libkmm$(LIBEXT) EXTRADEFINES=$(KDEFINE)
@@ -556,6 +568,12 @@ libc\libuc$(LIBEXT): context
lib\libuc$(LIBEXT): libc\libuc$(LIBEXT)
$(Q) install libc\libuc$(LIBEXT) lib\libuc$(LIBEXT)
libnx\libunx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libunx$(LIBEXT)
lib\libunx$(LIBEXT): libnx\libunx$(LIBEXT)
$(Q) install libnx\libunx$(LIBEXT) lib\libunx$(LIBEXT)
mm\libumm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libumm$(LIBEXT)
@@ -595,6 +613,12 @@ libc\libc$(LIBEXT): context
lib\libc$(LIBEXT): libc\libc$(LIBEXT)
$(Q) install libc\libc$(LIBEXT) lib\libc$(LIBEXT)
libnx\libnx$(LIBEXT): context
$(Q) $(MAKE) -C libnx TOPDIR="$(TOPDIR)" libnx$(LIBEXT)
lib\libnx$(LIBEXT): libnx\libnx$(LIBEXT)
$(Q) install libnx\libnx$(LIBEXT) lib\libnx$(LIBEXT)
mm\libmm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libmm$(LIBEXT)
+2
View File
@@ -1183,6 +1183,8 @@ nuttx
| `- README.txt
|- libc/
| `- README.txt
|- libnx/
| `- README.txt
|- libxx/
| `- README.txt
|- mm/
+19
View File
@@ -52,7 +52,21 @@ include/nuttx/nx/nxfont.h -- Describe sthe NXFONT C interfaces
Directories
^^^^^^^^^^^
The graphics capability consist both of components internal to the RTOS
and of user-callable interfaces. In the NuttX kernel mode build there are
some components of the graphics subsystem are callable in user mode and other
components that are internal to the RTOS. This directory, nuttx/graphics,
contains only those components that are internal to the RTOS.
User callable functions must, instead, be part of a library that can be
linked against user applications. This user callable interfaces are
provided in sub-directories under nuttx/libnx.
libnx/nx
Common callable interfaces that are, logically, part of both nxmu and nxsu.
graphics/nxglib
libnx/nxglib
The NuttX tiny graphics library. The directory contains generic utilities
support operations on primitive graphics objects and logic to rasterize directly
into a framebuffer. It has no concept of windows (other than the one, framebuffer
@@ -71,7 +85,12 @@ graphics/nxsu
single user front-end is selected when CONFIG_NX_MULTIUSER is not defined in the
NuttX configuration file.
NOTE: There is no nxsu sub-directory in nuttx/libnx. That is because this
separation of interfaces is only required in the kernel build mode and
only the multi-user interfaces can be used with the kernel build.
graphics/nxmu
libnx/nxmu
This is the NX multi user "front end". When combined with the generic "back-end"
(nxbe), it implements a multi-threaded, multi-user windowing system. The files
in this directory present the window APIs described in include/nuttx/nx/nx.h. The
+1 -1
View File
@@ -1,5 +1,5 @@
/****************************************************************************
* graphics/nxglib/nxsglib_copyrun.h
* graphics/nxglib/nxglib_copyrun.h
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
+1 -1
View File
@@ -1,5 +1,5 @@
/****************************************************************************
* graphics/nxglib/nxsglib_fullrun.h
* graphics/nxglib/nxglib_fullrun.h
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
-3
View File
@@ -65,9 +65,6 @@ include mqueue/Make.defs
include math/Make.defs
include fixedmath/Make.defs
include net/Make.defs
include nxglib/Make.defs
include nx/Make.defs
include nxmu/Make.defs
include time/Make.defs
include libgen/Make.defs
include dirent/Make.defs
+4 -4
View File
@@ -33,8 +33,8 @@
*
****************************************************************************/
#ifndef __LIB_LIB_INTERNAL_H
#define __LIB_LIB_INTERNAL_H
#ifndef __LIBC_LIB_INTERNAL_H
#define __LIBC_LIB_INTERNAL_H
/****************************************************************************
* Included Files
@@ -73,7 +73,7 @@
# define lib_give_semaphore(s)
#endif
/* The NuttX C library an be build in two modes: (1) as a standard, C-libary
/* The NuttX C library an be build in two modes: (1) as a standard, C-library
* that can be used by normal, user-space applications, or (2) as a special,
* kernel-mode C-library only used within the OS. If NuttX is not being
* built as separated kernel- and user-space modules, then only the first
@@ -237,4 +237,4 @@ float lib_sqrtapprox(float x);
}
#endif
#endif /* __LIB_LIB_INTERNAL_H */
#endif /* __LIBC_LIB_INTERNAL_H */
+6
View File
@@ -0,0 +1,6 @@
/Make_bin.dep
/Make_ubin.dep
/Make_kbin.dep
/.depend
/*.lib
+143
View File
@@ -0,0 +1,143 @@
############################################################################
# libnx/Makefile
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
###########################################################################
-include $(TOPDIR)/Make.defs
# CFLAGS
ifeq ($(CONFIG_NUTTX_KERNEL),y)
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
KDEFINE = ${shell $(TOPDIR)\tools\define.bat "$(CC)" __KERNEL__}
else
KDEFINE = ${shell $(TOPDIR)/tools/define.sh "$(CC)" __KERNEL__}
endif
endif
# Sources and paths
ASRCS =
CSRCS =
DEPPATH := --dep-path .
VPATH := .
include nxglib/Make.defs
include nx/Make.defs
include nxmu/Make.defs
BINDIR ?= bin
AOBJS = $(patsubst %.S, $(BINDIR)$(DELIM)%$(OBJEXT), $(ASRCS))
COBJS = $(patsubst %.c, $(BINDIR)$(DELIM)%$(OBJEXT), $(CSRCS))
SRCS = $(ASRCS) $(CSRCS)
OBJS = $(AOBJS) $(COBJS)
UBIN = libunx$(LIBEXT)
KBIN = libknx$(LIBEXT)
BIN ?= libnx$(LIBEXT)
all: $(BIN)
.PHONY: clean distclean
$(AOBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
$(call MOVEOBJ,$(patsubst $(BINDIR)$(DELIM)%$(OBJEXT),%,$@),$(BINDIR))
$(COBJS): $(BINDIR)$(DELIM)%$(OBJEXT): %.c
$(call COMPILE, $<, $@)
$(call MOVEOBJ,$(patsubst $(BINDIR)$(DELIM)%$(OBJEXT),%,$@),$(BINDIR))
# NX library for the flat build
$(BIN): $(OBJS)
$(call ARCHIVE, $@, $(OBJS))
# NX library for the user phase of the two-pass kernel build
ifneq ($(BIN),$(UBIN))
$(UBIN):
$(Q) $(MAKE) $(UBIN) BIN=$(UBIN) BINDIR=ubin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
endif
# NX library for the kernel phase of the two-pass kernel build
ifneq ($(BIN),$(KBIN))
$(KBIN):
$(Q) $(MAKE) $(KBIN) BIN=$(KBIN) BINDIR=kbin TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
endif
# Dependencies
.depend: Makefile $(SRCS)
ifeq ($(CONFIG_NUTTX_KERNEL),y)
$(Q) $(MKDEP) --obj-path ubin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make_ubin.dep
$(Q) $(MKDEP) --obj-path kbin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) $(KDEFINE) -- $(SRCS) >Make_kbin.dep
else
$(Q) $(MKDEP) --obj-path bin --obj-suffix $(OBJEXT) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make_bin.dep
endif
$(Q) touch $@
depend: .depend
# Generate configuration context
context:
# Clean most derived files, retaining the configuration
clean:
$(Q) $(MAKE) -C bin clean TOPDIR=$(TOPDIR)
$(Q) $(MAKE) -C ubin clean TOPDIR=$(TOPDIR)
$(Q) $(MAKE) -C kbin clean TOPDIR=$(TOPDIR)
$(call DELFILE, $(BIN))
$(call DELFILE, $(UBIN))
$(call DELFILE, $(KBIN))
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean
$(Q) $(MAKE) -C bin distclean TOPDIR=$(TOPDIR)
$(Q) $(MAKE) -C ubin distclean TOPDIR=$(TOPDIR)
$(Q) $(MAKE) -C kbin distclean TOPDIR=$(TOPDIR)
$(call DELFILE, Make_bin.dep)
$(call DELFILE, Make_ubin.dep)
$(call DELFILE, Make_kbin.dep)
$(call DELFILE, .depend)
-include Make_bin.dep
-include Make_ubin.dep
-include Make_kbin.dep
+11
View File
@@ -0,0 +1,11 @@
README
======
The graphics capability consist both of components internal to the RTOS
and of user-callable interfaces. In the NuttX kernel mode build there are
some components of the graphics subsystem are callable in user mode and
other components that are internal to the RTOS. This directory, libnx/,
contains only those user-callable components.
The RTOS internal functions are contained in the graphics/ directory.
Please refer to graphics/README.txt for more detailed information.
+8
View File
@@ -0,0 +1,8 @@
/*.asm
/*.obj
/*.rel
/*.lst
/*.sym
/*.adb
/*.lib
/*.src
+48
View File
@@ -0,0 +1,48 @@
############################################################################
# libnx/bin/Makefile
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
###########################################################################
-include $(TOPDIR)/Make.defs
all:
.PHONY: clean distclean
# Clean Targets:
clean:
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean
+8
View File
@@ -0,0 +1,8 @@
/*.asm
/*.obj
/*.rel
/*.lst
/*.sym
/*.adb
/*.lib
/*.src
+48
View File
@@ -0,0 +1,48 @@
############################################################################
# libnx/kbin/Makefile
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
###########################################################################
-include $(TOPDIR)/Make.defs
all:
.PHONY: clean distclean
# Clean Targets:
clean:
$(call CLEAN)
# Deep clean -- removes all traces of the configuration
distclean: clean
+2 -2
View File
@@ -1,5 +1,5 @@
############################################################################
# libc/nx/Make.defs
# libnx/nx/Make.defs
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
@@ -37,7 +37,7 @@
ifeq ($(CONFIG_NX),y)
CSRCS += lib_nx_drawcircle.c lib_nx_drawline.c lib_nx_fillcircle.c
CSRCS += nx_drawcircle.c nx_drawline.c nx_fillcircle.c
# Add the nx/ directory to the build
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nx/lib_nx_drawcircle.c
* libnx/nx/nx_drawcircle.c
*
* Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nx/nx_drawline.c
* libnx/nx/nx_drawline.c
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nx/lib_nx_fillcircle.c
* libnx/nx/nx_fillcircle.c
*
* Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
+127
View File
@@ -0,0 +1,127 @@
/****************************************************************************
* libnx/nxcontext.h
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#ifndef _LIBNX_NXCONTEXT_H
#define _LIBNX_NXCONTEXT_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <stdbool.h>
#include <stdio.h>
#include <limits.h>
#include <semaphore.h>
#include <nuttx/streams.h>
/****************************************************************************
* Definitions
****************************************************************************/
/* The NuttX NX library an be build in two modes: (1) as a standard, C-library
* that can be used by normal, user-space applications, or (2) as a special,
* kernel-mode NX-library only used within the OS. If NuttX is not being
* built as separated kernel- and user-space modules, then only the first
* mode is supported.
*/
#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
# include <nuttx/kmalloc.h>
/* Domain-specific allocations */
# define lib_malloc(s) kmalloc(s)
# define lib_zalloc(s) kzalloc(s)
# define lib_realloc(p,s) krealloc(p,s)
# define lib_memalign(p,s) krealloc(p,s)
# define lib_free(p) kfree(p)
/* User-accessible allocations */
# define lib_umalloc(s) kumalloc(s)
# define lib_uzalloc(s) kuzalloc(s)
# define lib_urealloc(p,s) kurealloc(p,s)
# define lib_ufree(p) kufree(p)
#else
# include <stdlib.h>
/* Domain-specific allocations */
# define lib_malloc(s) malloc(s)
# define lib_zalloc(s) zalloc(s)
# define lib_realloc(p,s) realloc(p,s)
# define lib_free(p) free(p)
/* User-accessible allocations */
# define lib_umalloc(s) malloc(s)
# define lib_uzalloc(s) zalloc(s)
# define lib_urealloc(p,s) realloc(p,s)
# define lib_ufree(p) free(p)
#endif
/****************************************************************************
* Public Types
****************************************************************************/
/****************************************************************************
* Public Variables
****************************************************************************/
#undef EXTERN
#if defined(__cplusplus)
#define EXTERN extern "C"
extern "C"
{
#else
#define EXTERN extern
#endif
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
#undef EXTERN
#if defined(__cplusplus)
}
#endif
#endif /* _LIBNX_NXCONTEXT_H */
@@ -1,5 +1,5 @@
############################################################################
# libc/nxglib/Make.defs
# libnx/nxglib/Make.defs
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
@@ -37,16 +37,14 @@
ifeq ($(CONFIG_NX),y)
CSRCS += lib_nxglib_circlepts.c lib_nxglib_circletraps.c
CSRCS += lib_nxglib_colorcopy.c lib_nxglib_intersecting.c
CSRCS += lib_nxglib_nonintersecting.c lib_nxglib_nullrect.c
CSRCS += lib_nxglib_rectadd.c lib_nxglib_rectcopy.c lib_nxglib_rectinside.c
CSRCS += lib_nxglib_rectintersect.c lib_nxglib_rectoffset.c
CSRCS += lib_nxglib_rectoverlap.c lib_nxglib_rectsize.c
CSRCS += lib_nxglib_rectunion.c lib_nxglib_rgb2yuv.c lib_nxglib_runcopy.c
CSRCS += lib_nxglib_runoffset.c lib_nxglib_splitline.c lib_nxglib_trapcopy.c
CSRCS += lib_nxglib_trapoffset.c lib_nxglib_vectoradd.c
CSRCS += lib_nxglib_vectsubtract.c lib_nxglib_yuv2rgb.c
CSRCS += nxglib_circlepts.c nxglib_circletraps.c nxglib_colorcopy.c
CSRCS += nxglib_intersecting.c nxglib_nonintersecting.c nxglib_nullrect.c
CSRCS += nxglib_rectadd.c nxglib_rectcopy.c nxglib_rectinside.c
CSRCS += nxglib_rectintersect.c nxglib_rectoffset.c nxglib_rectoverlap.c
CSRCS += nxglib_rectsize.c nxglib_rectunion.c nxglib_rgb2yuv.c
CSRCS += nxglib_runcopy.c nxglib_runoffset.c nxglib_splitline.c
CSRCS += nxglib_trapcopy.c nxglib_trapoffset.c nxglib_vectoradd.c
CSRCS += nxglib_vectsubtract.c nxglib_yuv2rgb.c
# Add the nxglib/ directory to the build
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_colorcopy.c
* libnx/nxglib/nxglib_colorcopy.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_intersecting.c
* libnx/nxglib/nxglib_intersecting.c
*
* Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_rectnonintersecting.c
* libnx/nxglib/nxglib_rectnonintersecting.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_nullrect.c
* libnx/nxglib/nxglib_nullrect.c
*
* Copyright (C) 2008-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxsglib_rectadd.c
* libnx/nxglib/nxglib_rectadd.c
*
* Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_rectcopy.c
* libnx/nxglib/nxglib_rectcopy.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/nxglib_rectinside.c
* libnx/nxglib/nxglib_rectinside.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_rectintersect.c
* libnx/nxglib/nxglib_rectintersect.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* lbic/nxglib/lib_nxsglib_rectoffset.c
* lbic/nxglib/nxglib_rectoffset.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_nulloverlap.c
* libnx/nxglib/nxglib_nulloverlap.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_rectsize.c
* libnx/nxglib/nxglib_rectsize.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxsglib_rectunion.c
* libnx/nxglib/nxglib_rectunion.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_rgb2yuv.c
* libnx/nxglib/nxglib_rgb2yuv.c
*
* Copyright (C) 2008, 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_runcopy.c
* libnx/nxglib/nxglib_runcopy.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_runoffset.c
* libnx/nxglib/nxglib_runoffset.c
*
* Copyright (C) 2008-2009, 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_trapcopy.c
* libnx/nxglib/nxglib_trapcopy.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_trapoffset.c
* libnx/nxglib/nxglib_trapoffset.c
*
* Copyright (C) 2008-2009, 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxsglib_vectoradd.c
* libnx/nxglib/nxglib_vectoradd.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_vectorsubtract.c
* libnx/nxglib/nxglib_vectorsubtract.c
*
* Copyright (C) 2008-2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxglib/lib_nxglib_yuv2rgb.c
* libnx/nxglib/nxglib_yuv2rgb.c
*
* Copyright (C) 2008-2009, 2011, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
+9 -9
View File
@@ -1,5 +1,5 @@
############################################################################
# libc/nxmu/Make.defs
# libnx/nxmu/Make.defs
#
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
@@ -40,15 +40,15 @@
ifeq ($(CONFIG_NX),y)
ifeq ($(CONFIG_NX_MULTIUSER),y)
CSRCS += lib_nxmu_sendserver.c lib_nx_connect.c lib_nx_disconnect.c
CSRCS += lib_nxmu_semtake.c lib_nx_block.c
CSRCS += lib_nx_kbdchin.c lib_nx_kbdin.c lib_nx_mousein.c
CSRCS += lib_nx_releasebkgd.c lib_nx_requestbkgd.c lib_nx_setbgcolor.c
CSRCS += nxmu_sendserver.c nx_connect.c nx_disconnect.c
CSRCS += nxmu_semtake.c nx_block.c
CSRCS += nx_kbdchin.c nx_kbdin.c nx_mousein.c
CSRCS += nx_releasebkgd.c nx_requestbkgd.c nx_setbgcolor.c
CSRCS += lib_nxmu_sendwindow.c lib_nx_closewindow.c lib_nxmu_constructwindow.c
CSRCS += lib_nx_bitmap.c lib_nx_fill.c lib_nx_filltrapezoid.c lib_nx_getposition.c
CSRCS += lib_nx_getrectangle.c lib_nx_lower.c lib_nx_move.c lib_nx_openwindow.c
CSRCS += lib_nx_raise.c lib_nx_setpixel.c lib_nx_setposition.c lib_nx_setsize.c
CSRCS += nxmu_sendwindow.c nx_closewindow.c nxmu_constructwindow.c
CSRCS += nx_bitmap.c nx_fill.c nx_filltrapezoid.c nx_getposition.c
CSRCS += nx_getrectangle.c nx_lower.c nx_move.c nx_openwindow.c
CSRCS += nx_raise.c nx_setpixel.c nx_setposition.c nx_setsize.c
# Add the nxmu/ directory to the build
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/nxmu/lib_nx_bitmap.c
* libnx/nxmu/nx_bitmap.c
*
* Copyright (C) 2008-2009, 2011-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -1,5 +1,5 @@
/****************************************************************************
* libc/lib/lib_nx_block.c
* libnx/nxmu/nx_block.c
*
* Copyright (C) 2012-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>

Some files were not shown because too many files have changed in this diff Show More