1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00
Commit Graph

184 Commits

Author SHA1 Message Date
Oleg Semyonov
f7236eb180 tools: add Linux 64bit native ARM toolchain 2013-04-18 15:45:38 +03:00
Oleg Semyonov
61bb82ca15 gcs: find python in tools building with Qt-Creator
This fix uses the same approach as OpenPilot toolchain system,
but for build started from Qt-Creator.
2013-04-17 19:08:02 +02:00
Oleg Semyonov
59f8a99ab7 make: warn users about old ARM toolchain instead of cryptic 'no such file' error 2013-04-16 21:26:36 +02:00
Oleg Semyonov
354924deed OP-719: suggest to use native Qt 4.8.x package on Linux and OSX
+review OPReview-441
2013-04-14 23:46:15 +02:00
Oleg Semyonov
d3ad4d3106 OP-719: provide pre-fetch and post-extract options to install template
+review OPReview-441
2013-04-14 23:46:14 +02:00
Oleg Semyonov
159dae9c9b OP-719: print error message if curl is not available and stop
+review OPReview-441
2013-04-14 04:17:10 +03:00
Oleg Semyonov
28314ec170 OP-719: add linux x64 version of qt-4.8.4
It seems we must ship GCS with all Qt libs like we do for Windows.
On Ubuntu x64 the GCS built with this crashes using system libs.

But since it's possible to build GCS using natively installed
Qt SDK, it is not a problem for now. Something is better than
nothing, and two ways of building are better then just one.

+review OPReview-441
2013-04-13 22:51:33 +03:00
Oleg Semyonov
5be0a1919e OP-719: add md5 checksumming 2013-04-12 10:56:12 +02:00
Oleg Semyonov
3967874996 OP-719: use common tool install template 2013-04-12 10:56:11 +02:00
Oleg Semyonov
34b15fedaf OP-719: make python_install (Windows) 2013-04-12 10:56:10 +02:00
Oleg Semyonov
c0878f290d OP-719: make qt_sdk_install (Linux) 2013-04-12 10:56:08 +02:00
Oleg Semyonov
e4d91218b6 OP-719: make qt_sdk_install mingw_install (Windows) 2013-04-12 10:56:07 +02:00
Oleg Semyonov
ea06337573 OP-719: make/scripts/win_sdk_install.sh 2013-04-12 10:56:06 +02:00
Oleg Semyonov
5bb6b56b4a OP-772: Normalize line endings 2013-04-05 23:46:56 +03:00
Oleg Semyonov
3bebec22f7 OP-772: Enforce line ending agreements (git 1.7.2+ required for this to work)
This is a part of OP-726, OP-727 tasks to normalize source code.
Use the following to normalise your local repository to be able to merge:

git rm --cached -r .
git diff --cached --name-only -z | xargs -0 git add
git commit -m "Normalise line endings"
git ls-files -z | xargs -0 rm
git checkout .
2013-04-05 23:43:58 +03:00
Oleg Semyonov
cab706125b Merge remote-tracking branch 'origin/os/get-rid-of-build-ground-dir' into next 2013-04-05 17:07:34 +02:00
Oleg Semyonov
c1dc7ccde7 Move OPLicenseTemplate.txt from top directory to make/templates
It's just one step. See also OP-891 for further changes.
2013-04-05 01:03:25 +03:00
Oleg Semyonov
f57610dc78 tools: Makefile and sh.cmd minor updates (mostly comments) 2013-04-04 23:57:43 +03:00
Oleg Semyonov
cf110998a0 tools: fix MSYS tar problem with Windows path names with drive letter colon 2013-04-04 17:03:17 +02:00
Oleg Semyonov
f82d66d217 OP-719: fix curl "invalid time" error if target file is missing
+review OPReview-431
2013-04-04 13:08:48 +03:00
Oleg Semyonov
a0e24a69aa OP-719: upgrade ARM SDK to 4.7-2013q1 +review OPReview-431 2013-04-01 00:42:19 +03:00
Oleg Semyonov
03f7596689 OP-719: fix broken paths to other tools (still to be revised) +review OPReview-431 2013-03-31 21:52:58 +03:00
Oleg Semyonov
b67ce783f5 OP-719: upgrade ARM SDK to 4.7-2012q4, use 'make arm_sdk_install' to install
+review OPReview
2013-03-31 16:59:00 +02:00
Oleg Semyonov
3e815ca8d5 build: get rid of build/ground subdirectory, fix qt-creator builds
This changeset:
- moves all ground targets one level up, under build directory. The
  build/ground was created as a workaround, now unnecessary;
- fixes QtCreator builds, they are separated from command line builds;
- moves GCS autogenerated files into openpilotgcs-synthetics directory.

The resulting build subdirectory now looks like:

    build
        openpilotgcs             <- Qt-Creator build directory
        openpilotgcs-synthetics  <- version-info and opfw_resource
        openpilotgcs_debug
        openpilotgcs_release     <- Makefile build directory
        uavobject-synthetics
        uavobjgenerator

NOTE: you should update the shadow build path in QtCreator to build,
      not build/ground as before.

+review OPReview
2013-03-30 17:33:38 +02:00
Oleg Semyonov
927977216b Revert "Makefile: better solution for MODULE_MODULENAME_BUILTIN name conversion"
The problem is that we have modules defined as:
    Airspeed
or
    Airspeed/revolution
or
    Extensions/MagBaro
and, probably
    Extensions/MagBaro/revolution
can be expected too.

It is impossible to get module name from such mixed cases.
So the better solution does not work for MagBaro, reverted.

This reverts commit 5d760d20fa.

+review OPReview-422
2013-03-25 17:27:47 +02:00
Oleg Semyonov
5d760d20fa Makefile: better solution for MODULE_MODULENAME_BUILTIN name conversion
Now it does not depend on board-specific part and uses module canonical name.

+review OPReview-422
2013-03-25 17:07:04 +02:00
Oleg Semyonov
9424be584c Makefile: fix MODULE_MODULENAME_BUILTIN generation bug for revo modules
This converts 'ModuleName/revolution' into 'ModuleName' for macro.

+review OPReview-422
2013-03-25 16:35:20 +02:00
Oleg Semyonov
9335a50b18 Makefile: use upper case for MODULE_MODULENAME_BUILTIN macros
+review OPReview-422
2013-03-25 16:02:16 +02:00
Oleg Semyonov
8f977a4411 Final step: lot of small fixes, last commit in this commit series
This is the first cleanup pass through makefiles and pios.
Probably it is difficult to track changes due to the nature of them.
I would recommend to look at resulting files and compiled code instead.

NOTE: original branch was rebased and lot of conflicts were fixed on
the way. So do not expect that every commit in this series will be
buildable (unlike original branch). Only final result was tested.

The main goal was to remove as much duplication of code (and copy/paste
errors) as possible, moving common parts out of Makefiles. It still is
not perfect, and mostly no code changes made - Makefiles and #ifdefs only.
But please while testing make sure that all code works as before, and no
modules/options are missed by accident.

Brief list of changes:
- Moved common parts of Makefiles into the set of *.mk files.
- Changed method of passing common vars from top Makefile to lower ones.
- Some pios cleanup, mostly #ifdefs, and all pios_config.h files.
- Many obsolete files removed (for instance, AHRS files, op_config.h).
- Many obsolete or unused macros removed or fixed/renamed (ALL_DIGNOSTICS).
- Unified pios_config.h template. Please don't remove lines for board
  configs, only comment/uncomment them. Adding new PIOS options, please
  propagate them to all board files keeping the same order.
- Some formatting, spacing, indentation (no line endings change yet).
- Some cosmetic fixes (no more C:\X\Y\filename.c printings on Windows).
- Added some library.mk files to move libs into AR achives later.
- EntireFlash target now uses cross-platform python script to generate bin
  files. So it works on all supported platforms: Linux, OSX, Windows.
- Top level packaging is completely rewritten. Now it is a part of top
  Makefile. As such, all dependencies are checked and accounted, no
  more 'make -j' problems should occur.
- Default GCS_BUILD_CONF is release now, may be changed if necessary
  using 'make GCS_BUILD_CONF=debug gcs'.
- GCS build paths are separated into debug and release, so no more obj
  file clashes. Packaging system supports only release builds.
- New target is introduced: 'clean_package'. Now 'make package' does not
  clean build directory. Use clean_package instead for distributable builds.
- Targets like 'all', 'opfw_resource', etc now will print extra contex
  in parallel builds too.
- If any of 'package', 'clean_package', 'opfw_resource' targets are given
  on command line, GCS build will depend on the resource, so all fw_*.opfw
  targets will be built and embedded into GCS. By default GCS does not
  depend on resource, and will be built w/o firmware (unless the resource
  files already exist and the Qt resource file is generated).
- fw_simposix (ELF executable) is now packaged for linux. Run'n'play!
- Make help is refined and is now up to date.

Still broken:
- UnitTests, should be fixed
- SimPosix: buildable, but should be reworked.

Next planned passes to do:
- toolchain bootstrapping and packaging (including windows - WIP)
- CMSIS/StdPeriph lib cleanup
- more PIOS cleanup
- move libs into AR archives to save build time
- sim targets refactir and cleanup
- move android-related directories under <top>/android
- unit test targets fix
- source code line ending changes (there are many different, were not changed)
- coding style

Merging this, please use --no-ff git option to make it the real commit point

Conflicts:
	A lot of... :-)
2013-03-24 13:06:24 +02:00
Oleg Semyonov
7e02642b01 Move 3rd party printf formatter functions from PiOS to Libraries folder
They are not a PiOS, but 3rd party libraries. They even should not
be placed to the same (PiOS) library directory due to the printf symbol
clashes (if all *.c from the folder are built). So they are moved, and
each target can include that one which is necessary/desired.
2013-03-24 13:06:06 +02:00
Oleg Semyonov
f3d587ad12 Makefile: better options sequence in common-defs.mk 2013-03-24 13:06:01 +02:00
Oleg Semyonov
5c13162824 Makefile: some rearrangements between apps-defs.mk and target Makefiles
Conflicts:
	flight/targets/PipXtreme/Makefile
	make/apps-defs.mk
2013-03-24 13:06:00 +02:00
Oleg Semyonov
9b3d3e62ab Makefile: fix Makefile for BootloaderUpdater (STM32F10x only targets)
Conflicts:
	flight/targets/Bootloaders/BootloaderUpdater/Makefile
2013-03-24 13:05:52 +02:00
Oleg Semyonov
91f14768db Makefile: fix mk files, now both CC and PipX are buildable using common defs
Conflicts:
	make/apps-defs.mk
2013-03-24 13:05:50 +02:00
Oleg Semyonov
f65ff0585f Makefile: add make/common-defs.mk and use it to build bootloaders (STM32F10x)
Conflicts:
	make/boot-defs.mk
2013-03-24 13:04:15 +02:00
Oleg Semyonov
b7545c6f57 Makefile: add --warn-common and --fatal-warnings to identify name clashes
This will stop builds if few same symbols are found when linking.
It should not be the case, but possible and may give unpredicted results.
2013-03-24 13:04:13 +02:00
Oleg Semyonov
db0cdc6a0c Remove (almost) exact copy of dosfs from F1-specific directory
The difference was in dfs_sdcard.c, line 107:

-if((status = PIOS_SDCARD_SectorRead(sector, buffer)) < 0) {
+if((status = PIOS_SDCARD_SectorRead(sector, buffer)) != 0) {

Currenly unused, kept as is.
2013-03-24 13:04:11 +02:00
Oleg Semyonov
27822d0cd4 Makefile and pios_config.h cleanup for PipXtreme
Now PipXtreme uses the same apps-defs.mk file as CopterControl.
Next steps are F4 boards.

Conflicts:
	flight/targets/PipXtreme/Makefile
	flight/targets/PipXtreme/System/inc/pios_config.h
2013-03-24 13:04:08 +02:00
Oleg Semyonov
7e4596ff35 Makefile: fix some MODULE_Name_BUILTIN checks and Makefile
These names are automatically generated by make using the list
of mandatory (always started) modules. Wrong names mean they can
be disabled, fixed now.

Conflicts:
	flight/Modules/Radio/radio.c
2013-03-24 13:04:06 +02:00
Oleg Semyonov
a1e17eccf3 pios: fix packet handler #ifdef guards and Makefile
Conflicts:
	flight/Libraries/packet_handler.c
	flight/targets/CopterControl/System/inc/pios_config.h
2013-03-24 13:04:04 +02:00
Oleg Semyonov
f7bdcdb782 Makefile: firmware makefiles cleanup (CC)
Conflicts:
	flight/targets/CopterControl/Makefile
2013-03-24 13:04:03 +02:00
Oleg Semyonov
75ef685c6e Makefile: bootloader makefiles cleanup
Conflicts:
	flight/targets/Bootloaders/CopterControl/Makefile
	flight/targets/Bootloaders/OSD/Makefile
	flight/targets/Bootloaders/PipXtreme/Makefile
	flight/targets/Bootloaders/RevoMini/Makefile
	flight/targets/Bootloaders/Revolution/Makefile
2013-03-24 13:04:01 +02:00
Oleg Semyonov
8a98920f3d Makefile: use exported variables in firmware-defs.mk
Note that $(QUOTE) variable is uppercased. Windows make does not
export lowercased variables with export keyword (even if must do).

Conflicts:
	make/firmware-defs.mk
2013-03-24 13:04:00 +02:00
Oleg Semyonov
23c605ffba Makefile: indents, comments, spacing, $(CMDS) variables, etc.
How to invoke external command instead of shell builtin on Windows:
ECHO := /bin/echo

Conflicts:
	Makefile
2013-03-24 13:03:58 +02:00
Oleg Semyonov
304f366338 Remove discontinued AHRS files 2013-03-24 13:03:50 +02:00
Oleg Semyonov
8c6f24afef version-info.py: fix coding style 2013-03-24 13:03:49 +02:00
Alessio Morale
1a38b7eb46 Merge remote-tracking branch 'origin/amorale/02_os-stac_logfs-unittests' into next
Conflicts:
	flight/targets/RevoMini/Makefile
	flight/targets/Revolution/Makefile
2013-03-23 15:13:05 +01:00
Alessio Morale
e06ab7f706 Merge remote-tracking branch 'origin/amorale/01-directory_move_sanity_simposix' into next
Conflicts:
	Makefile
	flight/PiOS.posix/inc/pios_com.h
	flight/targets/RevoMini/UAVObjects.inc
	flight/targets/Revolution/Makefile
2013-03-23 14:37:19 +01:00
Oleg Semyonov
14db5c80f1 ut: change xml output directory to make Bamboo a bit happier 2013-03-03 14:33:04 +01:00
Stacey Sheldon
67de4f0e0c ut: drop dependency on C++0x 2013-03-03 14:33:04 +01:00