Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » Bugs (& fixes) » Problem with FreeBSD
Re: Problem with FreeBSD [message #47260 is a reply to message #47144] Mon, 02 January 2017 04:50 Go to previous messageGo to previous message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
There is another issue for exported Makefile, but this is not FreeBSD specific and may depend from contents of exported project. For example, based on exported uppsrc/ide project:
$ umk uppsrc ide CLANG -rsX ~/ide
<...>
$ cd ~/ide
$ gmake
<...>
gmake: *** No rule to make target 'Turtle/FB.iml', needed by '_out/ide/CLANG-Bsd-Clang-Freebsd-Gui-Main-Mt-Posix-Shared/BaseDlg.o'.  Stop.
The possible cause of this issue is usage of following code in uppsrc/CtrlCore/CtrlCore.h file:
	#ifdef flagTURTLE
		#define GUIPLATFORM_KEYCODES_INCLUDE <Turtle/Keys.h>
		//need to make SDL_keysym.h known before K_ enum
		#define GUIPLATFORM_INCLUDE          <Turtle/Turtle.h>

where current HdependGetDependencies method in uppsrc/ide/Builders/MakeFile.cpp file may add Turtle/FB.iml (and other files in uppsrc/Turtle directory) as dependency for some rule(s) in exported Makefile, independent from list of exported files and/or used compiler flags (which may be related to (simplified) preprocessor parser).

This issue possible to reproduce for unused parts of source code, which contains include(s) to existing file(s) in assembly directories, but which are not exported (e.g. in case of no related U++ project's dependency). For example, usage of following code, but without GLCtrl dependency in a U++ project:
#if 0
	#include <GLCtrl/GLCtrl.h>
#endif

The manual solution is to comment/remove such parts of source code (before export) or copy such directory/file(s) to directory of exported project.

Personally, I created another solution (based on some information from following topics: "Autodependencies with GNU make", "Auto-Dependency Generation", "Preprocessor Options"), which adds additional C/C++ compiler options in the process of Makefile's generation, related to creation of compiler generated file(s) with dependency information (as a side-effect of compilation). The patch attached (based on 9813 revision of uppsrc/ide/Builders/MakeFile.cpp file). This was tested for Clang 3.4.1, 3.9.1 and GCC 4.9.4 on FreeBSD 10.2.

[Updated on: Mon, 02 January 2017 06:45]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Since Raspberry have not RTC clock, I propose add SetTime functionality
Next Topic: int64 in JSON
Goto Forum:
  


Current Time: Fri Jun 06 12:33:37 CEST 2025

Total time taken to generate the page: 0.03516 seconds