Commit Graph

153 Commits

Author SHA1 Message Date
Xiang Xiao
deaa6c5b7b build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs
and move NUTTXLIB defintion to the common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-09 15:17:37 -03:00
Xiang Xiao
9df0272279 apps: Let c++ examples/testing depends on UCLIBCXX or LIBCXX
since the test should work with either uClibc++ or libcxx

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie6d7b1706314cbe82d4e89eb2d5c47ed36118ea4
2020-07-02 08:47:40 +02:00
Xiang Xiao
b217de70e5 apps: Remove all stuff related to CONFIG_xxx_CXXINITIALIZE
since it is moved to the central place in nuttx side instead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I544d6110f1ca6460f7c82f970870aa9b1e7ab3dd
2020-07-01 10:03:12 -06:00
YAMAMOTO Takashi
faba0249c1 Include malloc.h instead of stdlib.h for mallinfo()
Adapt to the change in the main repo.

mallinfo is meant to be API compatible with Linux,
where it's provided by malloc.h.

(I think the API actually originated with System V. I don't
remember how it was there though. Anyway, I guess the
compatibility with Linux is more important than System V
these days.)
2020-06-15 07:21:52 -06:00
Xiang Xiao
d03ff1bde6 build: Remove the duplicated mksymtab.sh
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 08:26:55 -06:00
Xiang Xiao
69f013e74e build: Remve the unnecessary .gitignore
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-23 15:56:35 +01:00
Xiang Xiao
ea135b89c6 build: Replace all -I to INCDIR
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-21 17:43:42 +01:00
Xiang Xiao
ead498a788 build: Remove the workaround for the inexistence of .config/Make.defs
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-21 17:43:42 +01:00
Xiang Xiao
9be0be5d47 build: host executable should use HOSTEXEEXT not EXEEXT
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-19 08:58:10 -06:00
Xiang Xiao
d232823e63 build: Replace WINTOOL with CYGWIN_WINTOOL Kconfig
so the correct value can be determinated by Kconfig system automatically

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:37:24 -06:00
liuhaitao
0c60624276 Update make dependency for elf/module/nxflat/posix_spawn/sotest/thttpd
Update make dependency for elf/module/nxflat/posix_spawn/sotest/thttpd examples which make use of
mksymtab.sh. This could avoid them built twice in 'make depend' and 'make all' which would result
in file truncated build break. Now only build once by 'make all'.

Change-Id: I5d8f1ebbf73e3b12d7d2118f1f51b4233d0ed007
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-05-15 13:36:05 +08:00
Xiang Xiao
8a1f5ee34c debug: Reduce CONFIG_CPP_HAVE_VARARGS usage
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-06 07:31:10 -06:00
Xiang Xiao
cfe030db40 examples: Replace all -luc with -lc
follow up the kernel side change

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-02 03:34:25 +01:00
Gregory Nutt
3e73991857 nxstyle fixes for PR 170 2020-04-11 20:32:53 +01:00
Gregory Nutt
05f2253a33 Remove CONFIG_CAN_PASS_STRUCT
This is the companion to PR #766.  It removes the CONFIG_CAN_PASS_STRUCT option as recommended by Issue #620

NuttX PR #766 depends on PR being in place but not vice versa.  This PR should be merge-able without #766 and then PR #766 should also pass its checks.
2020-04-11 20:32:53 +01:00
YAMAMOTO Takashi
c304624fab Replace "STACKSIZE = 2048" with CONFIG_DEFAULT_TASK_SIZE
For now, I left the following instances because it isn't
clear to me why they are using the different values.
Maybe they need one-by-one inspection.

    examples/igmp/Makefile:STACKSIZE = 1024
    examples/powerled/Makefile:STACKSIZE = 1024
    examples/powermonitor/Makefile:STACKSIZE = 768
    examples/relays/Makefile:STACKSIZE = 512
    examples/smps/Makefile:STACKSIZE = 1024
    graphics/screenshot/Makefile:STACKSIZE = 4096
    system/flash_eraseall/Makefile:STACKSIZE = 1024
    testing/cxxtest/Makefile:STACKSIZE = 4096
    testing/smart_test/Makefile:STACKSIZE = 4096
2020-03-27 02:43:11 -05:00
Xiang Xiao
f16a765cca
examples: Fix the parallel build break (#138)
1.Remove build target to avoid build and install run parallelly
2.Invoke the sub Makefile just before the parent source code compile
2020-03-23 11:40:44 -06:00
Xiang Xiao
1511403fdf Revert "Don't generate .depend anymore"
This reverts commit cc5ad09caa.
2020-03-22 23:09:40 -05:00
Xiang Xiao
f074d7f376 Makefile: let install depend on the target binary
to ensure the binary get built and install once
2020-03-22 22:42:13 +00:00
Xiang Xiao
8a7ea1695d Revert "examples/elf/tests: Ensure "build" before "install""
This reverts commit 2abf0f50e1.
2020-03-22 22:47:16 +01:00
Xiang Xiao
cc5ad09caa
Don't generate .depend anymore 2020-03-22 18:15:21 +00:00
Xiang Xiao
6e3a9a2eda Call TESTANDREPLACEFILE instead of mv
To avoid the timestamp change even the content is same
2020-03-22 09:03:08 -06:00
Xiang Xiao
d614ee8efa
Strip the debug information if CONFIG_DEBUG_SYMBOLS isn't enable. 2020-03-22 14:46:58 +00:00
liuhaitao
54b375dc43 examples: Fix elf/module/posix_spawn sometimes parallel build errors at link time
It seems in the time window mksymtab.sh redirect to symtab.c, there is chance symtab.c
would also be built meantime. Then if built before symtab.c write done, link errors may
occur. So use rename and mv operation to reduce the possibility.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-03-21 20:46:58 +09:00
liuhaitao
47c0df6ae6 Revert "examples: elf: Fix parallel build errors at link time"
This reverts commit 176fd27c8a.
2020-03-20 08:30:15 +09:00
Masayuki Ishikawa
176fd27c8a examples: elf: Fix parallel build errors at link time
During generating symtab.c, compile seqeuence would start with
incomplete symtab.c. This change will fix such a situation.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-03-11 20:53:37 -05:00
Masayuki Ishikawa
b1fd3ec8d8 examples: elf: Fix parallel build errors
NOTE: Apply the same logic as in examples/posix_spawn/Makefile

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-03-11 20:53:37 -05:00
liuhaitao
4c4d8b1c1c examples/elf: update elf_main.c dependency to fix parallel build break
Update elf_main.c depends on tests/symtab.c to make sure romfs.h exist
before compiling elf_main.c.

Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-02-26 10:24:05 -06:00
YAMAMOTO Takashi
2abf0f50e1 examples/elf/tests: Ensure "build" before "install" 2020-02-26 00:05:02 -06:00
YAMAMOTO Takashi
45bcfa8b2e examples/elf: Add a few make rules
To fix "don't know how to create tests/dirlist.h" make complaints.
2020-02-25 07:43:23 -06:00
liuguo09
2f23d2a602
examples/elf/tests: Correct symtab.c dependency to fix parallel build break
Correct symtab dependency from build to populate instead, or tests
subdirectory programs would be built twice which resulted in errors
as below:
arm-none-eabi-ld: hello++3.o: file not recognized: file truncated
2020-02-25 13:26:51 +01:00
Xiang Xiao
41d88f06e7 Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00
Gregory Nutt
218d8c9fe2 examples/elf/tests/mutex/mutex.c: Fix typo in a previous PR. 2020-02-15 19:08:03 +01:00
Gregory Nutt
1056cce2b5 apps/examples/elf: Correct mount point configuration error.
If an external file system is used but is not mounted by the the ELF example, then a compilation error will occur.  This configuration problem has existed for a long time but was unmasked by a recent PR.  In the failure mode, CONFIG_EXAMPLES_ELF_FSTYPE would not be defined because it depends on CONFIG_EXAMPLES_ELF_FSMOUNT which is not defined.  The resulting mountpoint, MOUNTPT, would therefore be left in an invalid state.  Previous changes to conditional logic now allowed setenv() to run and to attempt to set the PATH variable to MOUNTPT, causing a compile time failure like this:

    CC:  elf_main.c
    elf_main.c: In function 'elf_main':
    elf_main.c:113:32: error: expected ')' before 'CONFIG_EXAMPLES_ELF_FSTYPE'
     #  define MOUNTPT      "/mnt/" CONFIG_EXAMPLES_ELF_FSTYPE
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    elf_main.c:364:18: note: in expansion of macro 'MOUNTPT'
       setenv("PATH", MOUNTPT, 1);
                       ^~~~~~~
    elf_main.c:364:3: error: too few arguments to function 'setenv'
       setenv("PATH", MOUNTPT, 1);
       ^~~~~~
    In file included from elf_main.c:47:
    D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include/stdlib.h:158:11: note: declared here
     int       setenv(FAR const char *name, FAR const char *value, int overwrite);
               ^~~~~~

This problem was found during manual build testing using configuration lx_cpu:nsh.
2020-02-15 18:06:43 +01:00
Gregory Nutt
1d8b738a2b apps/examples/elf: Resolve issue issue 63 2020-02-15 23:55:33 +08:00
YAMAMOTO Takashi
e5dd0b1eb9 mksymtab.sh: Avoid using find -executable
As it seems GNU-find only.  macOS doesn't have it.

-perm is in POSIX and should be more widely available.
2020-02-14 09:13:55 -06:00
YAMAMOTO Takashi
66e7590dd0 examples/elf: Don't bother to honor CONFIG_PATH_INITIAL
As we know where the binaries are, there's little point
to use CONFIG_PATH_INITIAL.
2020-02-14 18:38:07 +08:00
Masayuki Ishikawa
539d0854dd examples: elf: Fix warnings when compiled for RISC-V 64bit 2020-02-10 14:16:00 +08:00
Xiang Xiao
779197c63e Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-09 08:14:49 -06:00
Masayuki Ishikawa
bb3cd0a496 apps: elf: Fix stack corruption in task test
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-02-04 20:56:52 -08:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
liuhaitao
02dbab7679 Makefile: Fix warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
Change-Id: I73d156f55bc82778c64defe5a8dd84bb478c9008
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-01-19 07:24:21 -06:00
Xiang Xiao
857158451b Unify the void cast usage
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro

Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-02 23:21:01 +08:00
Gregory Nutt
3da8091d30 Include nuttx/symtab.h instead of nuttx/binfmt/symtab.h since symtab.h under binfmt folder is for internal use. 2019-12-10 08:39:22 -06:00
Xiang Xiao
7808eb62d2 apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Gregory Nutt
3a23523147 Makefiles: This reverts part of commit cf0365ea9. It restores 'conditional' inclusion of TOPDIR/Make.defs. Otherwise all make targets fail if the board has not been configured. That is okay most of the time, but not for things like clean and distclean which should not depend on being configured. 2019-10-15 09:25:48 +08:00
Xiang Xiao
e806097c70 Application.mk and main.c files: Change builtin's entry point from main to xxx_main by macro expansion. This change make the entry point fully compliant with POSIX/ANSI standard. 2019-10-06 06:14:56 -06:00
Xiang Xiao
e829f047bc apps/; Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:37:19 -06:00
Xiang Xiao
cf0365ea92 Clean up Makefile under apps folder no functional changes. 2019-10-04 08:35:46 -06:00
Xiang Xiao
9a27d4a697 Makefiles: Remove .PRECIOUS if Makefile doesn't touch libapps. 2019-10-01 11:48:55 -06:00