parallaxinc / SimpleIDE

SimpleIDE for Propeller
26 stars 13 forks source link

Build status alternate library notice #198

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
During compilation, a library may be used from a different place than what is 
obvious from the project settings, yet the build status does not notify of this 
fact.

Request that:

1) If a Simple Library or standard library is local (exists in same path as 
project file), and that library will be used instead of the one from the normal 
path, make Build Status report something like "Warning: './<library_name>' 
supersedes that of '<standard_or_Simple_path>.'"  

2) If project settings specify a Simple Library or standard library path (for 
example ./library/<library_name>) and that library is not found at that path, 
make Build Status report something like "Warning: './library/<library_name>' 
not found.  Trying default path '<standard_or_Simple_path>.'"

Original issue reported on code.google.com by jmar...@parallax.com on 13 Oct 2013 at 6:50

GoogleCodeExporter commented 9 years ago
Tested v0-9-58.  

This seems to work very differently now; it now longer seems to automatically 
find the library in the Simple Library path.

Was this intentional?

Original comment by jmar...@parallax.com on 12 Jun 2014 at 10:47

GoogleCodeExporter commented 9 years ago
Building an unzipped package that contains libraries different from Simple 
Libraries works as required. Try this for example: 
http://forums.parallax.com/attachment.php?attachmentid=109383&d=1403933404 ... 
Unzip to some folder, and open project.
By default, the libraries listed in the project get used.

Project Directory: C:/Users/Steve/Documents/SimpleIDE/My 
Projects/ArduMpu6050_unzipped/

propeller-elf-gcc.exe -v GCC 4.6.1 (propellergcc_v1_0_0_2408)
propeller-elf-c++ -I . -L . -I ./library/libArduino -I ./library/libfdserial -I 
./library/libsimplei2c -I ./library/libsimpletext -I ./library/libsimpletools 
-L ./library/libArduino/cmm/ -L ./library/libsimplei2c/cmm/ -L 
./library/libsimpletext/cmm/ -L ./library/libsimpletools/cmm/ -I 
library/libfdserial -L library/libfdserial/cmm/ -o cmm/ArduMpu6050.elf -Os 
-mcmm -m32bit-doubles -fno-exceptions -fno-rtti -ffunction-sections 
-fdata-sections -Wl,--gc-sections ArduMpu6050.cpp -lsimplei2c -lsimpletools 
-lsimpletext -lArduino -lfdserial -lsimplei2c -lsimpletools -lsimpletext 
-lArduino -lsimplei2c -lsimpletools -lsimpletext -lsimplei2c -lsimpletools 
-lsimplei2c
ArduMpu6050.cpp:14:0: warning: "F" redefined [enabled by default]
./library/libArduino/WString.h:38:0: note: this is the location of the previous 
definition
ArduMpu6050.cpp:190:0: warning: "MPU6050_AUX_VDDIO" redefined [enabled by 
default]
ArduMpu6050.cpp:85:0: note: this is the location of the previous definition
ArduMpu6050.cpp:594:0: warning: "MPU6050_FIFO_EN" redefined [enabled by default]
ArduMpu6050.cpp:96:0: note: this is the location of the previous definition
ArduMpu6050.cpp:698:1: warning: 'typedef' was ignored in this declaration 
[enabled by default]
propeller-load -s cmm/ArduMpu6050.elf
propeller-elf-objdump -h cmm/ArduMpu6050.elf
Done. Build Succeeded!

Now remove -I and -L fdserial library entries from the project should cause a 
build failure.

Project Directory: C:/Users/Steve/Documents/SimpleIDE/My 
Projects/ArduMpu6050_unzipped/

propeller-elf-gcc.exe -v GCC 4.6.1 (propellergcc_v1_0_0_2408)
propeller-elf-c++ -I . -L . -I ./library/libArduino -I ./library/libsimplei2c 
-I ./library/libsimpletext -I ./library/libsimpletools -L 
./library/libArduino/cmm/ -L ./library/libsimplei2c/cmm/ -L 
./library/libsimpletext/cmm/ -L ./library/libsimpletools/cmm/ -I 
C:/Users/Steve/Documents/SimpleIDE/Learn/Simple 
Libraries/TextDevices/libfdserial -L 
C:/Users/Steve/Documents/SimpleIDE/Learn/Simple 
Libraries/TextDevices/libfdserial/cmm/ -o cmm/ArduMpu6050.elf -Os -mcmm 
-m32bit-doubles -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections 
-Wl,--gc-sections ArduMpu6050.cpp -lsimplei2c -lsimpletools -lsimpletext 
-lArduino -lfdserial -lsimplei2c -lsimpletools -lsimpletext -lArduino 
-lsimplei2c -lsimpletools -lsimpletext -lsimplei2c -lsimpletools -lsimplei2c
ArduMpu6050.cpp:14:0: warning: "F" redefined [enabled by default]
./library/libArduino/WString.h:38:0: note: this is the location of the previous 
definition
ArduMpu6050.cpp:190:0: warning: "MPU6050_AUX_VDDIO" redefined [enabled by 
default]
ArduMpu6050.cpp:85:0: note: this is the location of the previous definition
ArduMpu6050.cpp:594:0: warning: "MPU6050_FIFO_EN" redefined [enabled by default]
ArduMpu6050.cpp:96:0: note: this is the location of the previous definition
ArduMpu6050.cpp:698:1: warning: 'typedef' was ignored in this declaration 
[enabled by default]
.
/library/libArduino/cmm/\libArduino.a(Serial.opp): In function 
`Serial_::peek()':
(.text._ZN7Serial_4peekEv+0x8): undefined reference to `_fdserial_rxPeek'
collect2: ld returned 1 exit status
Done. Build Failed!

Check source for bad function call or global variable name `_fdserial_rxPeek'

Original comment by jsden...@gmail.com on 28 Jun 2014 at 3:55

GoogleCodeExporter commented 9 years ago
Will look at reporting warnings for library paths.

Original comment by jsden...@gmail.com on 28 Jun 2014 at 3:55

GoogleCodeExporter commented 9 years ago
Maybe a post 1.0 fix.

Original comment by jsden...@gmail.com on 20 Dec 2014 at 8:08