kopia lustrzana https://github.com/cariboulabs/cariboulite
device tree + eeprom configuration + more
rodzic
8a35a43c39
commit
8cc0b639c3
|
@ -7,6 +7,12 @@ build:
|
|||
nextpnr-ice40 --lp1k --package qn84 --json $(filename).json --pcf $(pcf_file) --asc $(filename).asc
|
||||
icepack $(filename).asc $(filename).bin
|
||||
|
||||
echo "Generating code blob"
|
||||
../software/utils/generate_bin_blob ./top.bin cariboulite_firmware ./h-files/cariboulite_fpga_firmware.h
|
||||
|
||||
echo "Copying dtbo blob h-file to the code directory"
|
||||
cp ./h-files/cariboulite_fpga_firmware.h ../software/libcariboulite/src/
|
||||
|
||||
#build:
|
||||
# yosys -p "synth_ice40 -blif $(filename).blif" $(filename).v
|
||||
# arachne-pnr -d 1k -P qn84 -p $(pcf_file) $(filename).blif -o $(filename).asc
|
||||
|
|
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,45 @@
|
|||
// Description: Overlay to enable character device interface for SMI.
|
||||
// Original Author: Luke Wren <luke@raspberrypi.org>
|
||||
// Adaptation to CaribouLite: David Michaeli (cariboulabs.co@gmail.com)
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/{
|
||||
compatible = "brcm,bcm2835";
|
||||
|
||||
fragment@0 {
|
||||
target = <&soc>;
|
||||
__overlay__ {
|
||||
smi_dev {
|
||||
compatible = "brcm,bcm2835-smi-dev";
|
||||
smi_handle = <&smi>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&smi>;
|
||||
__overlay__ {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&smi_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&gpio>;
|
||||
__overlay__ {
|
||||
smi_pins: smi_pins {
|
||||
/* Don't configure the top two address bits, as these are already used as ID_SD and ID_SC */
|
||||
brcm,pins = <2 3 4 6 7 8 9 10 11 12 13 14 15 24 25>;
|
||||
brcm,function = <5 5 5 5 5 5 5 5 5 5 5 5 5 5 5>;
|
||||
|
||||
/* /CS, /WE and /OE are pulled high, as they are generally active low signals */
|
||||
brcm,pull = <2 2 2 2 2 0 0 0 0 0 0 0 0 0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
Plik binarny nie jest wyświetlany.
|
@ -1,2 +1,14 @@
|
|||
dtc -O dtb -o smi.dtbo -b 0 -@ smi-overlay.dts
|
||||
dtc -O dtb -o smi-dev.dtbo -b 0 -@ smi-dev-overlay.dts
|
||||
#dtc -O dtb -o smi.dtbo -b 0 -@ smi-overlay.dts
|
||||
#dtc -O dtb -o smi-dev.dtbo -b 0 -@ smi-dev-overlay.dts
|
||||
|
||||
echo "Compiling device tree file"
|
||||
dtc -O dtb -o cariboulite.dtbo -b 0 -@ cariboulite-overlay.dts
|
||||
|
||||
#../utils/generate_bin_blob ./smi.dtbo smi_dtbo ./h_files/smi_dtbo.h
|
||||
#../utils/generate_bin_blob ./smi-dev.dtbo smi_dev_dtbo ./h_files/smi_dev_dtbo.h
|
||||
|
||||
echo "Generating code blob"
|
||||
../utils/generate_bin_blob ./cariboulite.dtbo cariboulite_dtbo ./h_files/cariboulite_dtbo.h
|
||||
|
||||
echo "Copying dtbo blob h-file to the code directory"
|
||||
cp ./h_files/cariboulite_dtbo.h ../libcariboulite/src/cariboulite_eeprom/
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* This file was automatically generated using the 'generate_bin_blob' tool
|
||||
* Modification of this file is not recommanded - please re-generate it
|
||||
* as needed and embed in the code library.
|
||||
*/
|
||||
|
||||
#ifndef __cariboulite_dtbo_h__
|
||||
#define __cariboulite_dtbo_h__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
|
||||
/*
|
||||
* Time tagging of the module through the 'struct tm' structure
|
||||
* Date: 2021-09-17
|
||||
* Time: 09:56:44
|
||||
*/
|
||||
struct tm cariboulite_dtbo_date_time = {
|
||||
.tm_sec = 44,
|
||||
.tm_min = 56,
|
||||
.tm_hour = 9,
|
||||
.tm_mday = 17,
|
||||
.tm_mon = 8, /* +1 */
|
||||
.tm_year = 121, /* +1900 */
|
||||
};
|
||||
|
||||
/*
|
||||
* Data blob of variable cariboulite_dtbo:
|
||||
* Size: 1112 bytes
|
||||
* Original filename: ./cariboulite.dtbo
|
||||
*/
|
||||
uint8_t cariboulite_dtbo[] = {
|
||||
0xD0, 0x0D, 0xFE, 0xED, 0x00, 0x00, 0x04, 0x58, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x03, 0xDC,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D,
|
||||
0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35,
|
||||
0x2D, 0x73, 0x6D, 0x69, 0x2D, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x6F, 0x6B, 0x61, 0x79, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x6F, 0x6B, 0x61, 0x79,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x46,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5E,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x73, 0x79, 0x6D, 0x62, 0x6F, 0x6C, 0x73, 0x5F, 0x5F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x66, 0x2F, 0x66, 0x72, 0x61,
|
||||
0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x2F, 0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x66, 0x69, 0x78, 0x75, 0x70, 0x73,
|
||||
0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x6F,
|
||||
0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x3A, 0x74, 0x61, 0x72, 0x67,
|
||||
0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x42,
|
||||
0x00, 0x00, 0x00, 0x73, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x2F,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F,
|
||||
0x64, 0x65, 0x76, 0x3A, 0x73, 0x6D, 0x69, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x3A, 0x30,
|
||||
0x00, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x3A, 0x74, 0x61, 0x72,
|
||||
0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x77, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x3A,
|
||||
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x5F, 0x66, 0x69, 0x78, 0x75,
|
||||
0x70, 0x73, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x66, 0x72, 0x61, 0x67,
|
||||
0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6F, 0x76,
|
||||
0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
|
||||
0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x63, 0x6F, 0x6D, 0x70,
|
||||
0x61, 0x74, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x73, 0x6D,
|
||||
0x69, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00,
|
||||
0x70, 0x69, 0x6E, 0x63, 0x74, 0x72, 0x6C, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x70, 0x69,
|
||||
0x6E, 0x63, 0x74, 0x72, 0x6C, 0x2D, 0x30, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x70, 0x69, 0x6E,
|
||||
0x73, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00,
|
||||
0x62, 0x72, 0x63, 0x6D, 0x2C, 0x70, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x68, 0x61, 0x6E, 0x64, 0x6C,
|
||||
0x65, 0x00, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x73, 0x6F, 0x63, 0x00, 0x73,
|
||||
0x6D, 0x69, 0x00, 0x67, 0x70, 0x69, 0x6F, 0x00,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __cariboulite_dtbo_h__
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef __smi_dev_dtbo_h__
|
||||
#define __smi_dev_dtbo_h__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
uint8_t smi_dev_dtbo[] = {
|
||||
0xD0, 0x0D, 0xFE, 0xED, 0x00, 0x00, 0x01, 0x94, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x01, 0x68,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D,
|
||||
0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35,
|
||||
0x2D, 0x73, 0x6D, 0x69, 0x2D, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x6F, 0x6B, 0x61, 0x79, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x66, 0x69, 0x78, 0x75, 0x70, 0x73, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x24, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E,
|
||||
0x74, 0x40, 0x30, 0x3A, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x28, 0x2F, 0x66, 0x72, 0x61,
|
||||
0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x2F, 0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F, 0x64, 0x65, 0x76, 0x3A, 0x73, 0x6D, 0x69, 0x5F,
|
||||
0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x63, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62,
|
||||
0x6C, 0x65, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x73, 0x6D, 0x69, 0x5F, 0x68, 0x61,
|
||||
0x6E, 0x64, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00, 0x73, 0x6F, 0x63, 0x00,
|
||||
0x73, 0x6D, 0x69, 0x00,
|
||||
};
|
||||
|
||||
#endif // __smi_dev_dtbo_h__
|
|
@ -0,0 +1,65 @@
|
|||
#ifndef __smi_dtbo_h__
|
||||
#define __smi_dtbo_h__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
uint8_t smi_dtbo[] = {
|
||||
0xD0, 0x0D, 0xFE, 0xED, 0x00, 0x00, 0x03, 0x69, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x02, 0xFC,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x02, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D,
|
||||
0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2A, 0x6F, 0x6B, 0x61, 0x79,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3B,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x53,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x73, 0x79, 0x6D, 0x62, 0x6F, 0x6C, 0x73, 0x5F, 0x5F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x5B, 0x2F, 0x66, 0x72, 0x61,
|
||||
0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x2F, 0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x66, 0x69, 0x78, 0x75, 0x70, 0x73,
|
||||
0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x64,
|
||||
0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x3A, 0x74, 0x61, 0x72, 0x67,
|
||||
0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x68, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x3A,
|
||||
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x5F, 0x66, 0x69, 0x78, 0x75,
|
||||
0x70, 0x73, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x66, 0x72, 0x61, 0x67,
|
||||
0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6F, 0x76,
|
||||
0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x63, 0x6F, 0x6D, 0x70,
|
||||
0x61, 0x74, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x70, 0x69,
|
||||
0x6E, 0x63, 0x74, 0x72, 0x6C, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x70, 0x69, 0x6E, 0x63,
|
||||
0x74, 0x72, 0x6C, 0x2D, 0x30, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00, 0x62, 0x72, 0x63,
|
||||
0x6D, 0x2C, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x66, 0x75, 0x6E, 0x63,
|
||||
0x74, 0x69, 0x6F, 0x6E, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x70, 0x75, 0x6C, 0x6C, 0x00, 0x70,
|
||||
0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00,
|
||||
0x73, 0x6D, 0x69, 0x00, 0x67, 0x70, 0x69, 0x6F, 0x00,
|
||||
};
|
||||
|
||||
#endif // __smi_dtbo_h__
|
|
@ -1,5 +1,6 @@
|
|||
// Description: Overlay to enable the secondary memory interface peripheral
|
||||
// Author: Luke Wren
|
||||
// Original Author: Luke Wren
|
||||
// Adaptation to CaribouLite: David Michaeli (cariboulabs.co@gmail.com)
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
@ -36,4 +37,4 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
time.h
|
||||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.c
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/zf_log/zf_log.h
|
||||
|
@ -23,6 +31,8 @@ stdbool.h
|
|||
-
|
||||
endian.h
|
||||
-
|
||||
fcntl.h
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
sys/stat.h
|
||||
|
@ -33,6 +43,8 @@ sys/types.h
|
|||
-
|
||||
cariboulite_eeprom.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
cariboulite_dtbo.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
stdint.h
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
|
||||
CMakeFiles/cariboulite_eeprom.dir/cariboulite_eeprom.c.o
|
||||
../../zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.c
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
CMakeFiles/cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../../zf_log/zf_log.h
|
||||
CMakeFiles/cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_dtbo.h
|
||||
CMakeFiles/cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_eeprom.c
|
||||
CMakeFiles/cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_eeprom.h
|
||||
|
||||
|
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
time.h
|
||||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.c
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/zf_log/zf_log.h
|
||||
|
@ -23,6 +31,8 @@ stdbool.h
|
|||
-
|
||||
endian.h
|
||||
-
|
||||
fcntl.h
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
sys/stat.h
|
||||
|
@ -33,6 +43,8 @@ sys/types.h
|
|||
-
|
||||
cariboulite_eeprom.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
cariboulite_dtbo.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
stdint.h
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/cariboulite_eeprom.c.o
|
||||
../../zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_dtbo.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.c
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/test_cariboulite_eeprom.c.o
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../../zf_log/zf_log.h
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_dtbo.h
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_eeprom.c
|
||||
CMakeFiles/test_cariboulite_eeprom.dir/cariboulite_eeprom.c.o: ../cariboulite_eeprom.h
|
||||
|
||||
|
|
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* This file was automatically generated using the 'generate_bin_blob' tool
|
||||
* Modification of this file is not recommanded - please re-generate it
|
||||
* as needed and embed in the code library.
|
||||
*/
|
||||
|
||||
#ifndef __cariboulite_dtbo_h__
|
||||
#define __cariboulite_dtbo_h__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
|
||||
/*
|
||||
* Time tagging of the module through the 'struct tm' structure
|
||||
* Date: 2021-09-17
|
||||
* Time: 09:56:44
|
||||
*/
|
||||
struct tm cariboulite_dtbo_date_time = {
|
||||
.tm_sec = 44,
|
||||
.tm_min = 56,
|
||||
.tm_hour = 9,
|
||||
.tm_mday = 17,
|
||||
.tm_mon = 8, /* +1 */
|
||||
.tm_year = 121, /* +1900 */
|
||||
};
|
||||
|
||||
/*
|
||||
* Data blob of variable cariboulite_dtbo:
|
||||
* Size: 1112 bytes
|
||||
* Original filename: ./cariboulite.dtbo
|
||||
*/
|
||||
uint8_t cariboulite_dtbo[] = {
|
||||
0xD0, 0x0D, 0xFE, 0xED, 0x00, 0x00, 0x04, 0x58, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x03, 0xDC,
|
||||
0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D,
|
||||
0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x62, 0x63, 0x6D, 0x32, 0x38, 0x33, 0x35,
|
||||
0x2D, 0x73, 0x6D, 0x69, 0x2D, 0x64, 0x65, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x6F, 0x6B, 0x61, 0x79, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1D, 0x6F, 0x6B, 0x61, 0x79,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08,
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x18,
|
||||
0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x46,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5E,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x73, 0x79, 0x6D, 0x62, 0x6F, 0x6C, 0x73, 0x5F, 0x5F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x66, 0x2F, 0x66, 0x72, 0x61,
|
||||
0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x2F, 0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61,
|
||||
0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x66, 0x69, 0x78, 0x75, 0x70, 0x73,
|
||||
0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x6F,
|
||||
0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x3A, 0x74, 0x61, 0x72, 0x67,
|
||||
0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x42,
|
||||
0x00, 0x00, 0x00, 0x73, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x30, 0x2F,
|
||||
0x5F, 0x5F, 0x6F, 0x76, 0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x2F, 0x73, 0x6D, 0x69, 0x5F,
|
||||
0x64, 0x65, 0x76, 0x3A, 0x73, 0x6D, 0x69, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x3A, 0x30,
|
||||
0x00, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x3A, 0x74, 0x61, 0x72,
|
||||
0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15,
|
||||
0x00, 0x00, 0x00, 0x77, 0x2F, 0x66, 0x72, 0x61, 0x67, 0x6D, 0x65, 0x6E, 0x74, 0x40, 0x32, 0x3A,
|
||||
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x3A, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6C, 0x6F, 0x63, 0x61, 0x6C, 0x5F, 0x66, 0x69, 0x78, 0x75,
|
||||
0x70, 0x73, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x66, 0x72, 0x61, 0x67,
|
||||
0x6D, 0x65, 0x6E, 0x74, 0x40, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5F, 0x5F, 0x6F, 0x76,
|
||||
0x65, 0x72, 0x6C, 0x61, 0x79, 0x5F, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
|
||||
0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x63, 0x6F, 0x6D, 0x70,
|
||||
0x61, 0x74, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x73, 0x6D,
|
||||
0x69, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x00,
|
||||
0x70, 0x69, 0x6E, 0x63, 0x74, 0x72, 0x6C, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x70, 0x69,
|
||||
0x6E, 0x63, 0x74, 0x72, 0x6C, 0x2D, 0x30, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x70, 0x69, 0x6E,
|
||||
0x73, 0x00, 0x62, 0x72, 0x63, 0x6D, 0x2C, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00,
|
||||
0x62, 0x72, 0x63, 0x6D, 0x2C, 0x70, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x68, 0x61, 0x6E, 0x64, 0x6C,
|
||||
0x65, 0x00, 0x73, 0x6D, 0x69, 0x5F, 0x70, 0x69, 0x6E, 0x73, 0x00, 0x73, 0x6F, 0x63, 0x00, 0x73,
|
||||
0x6D, 0x69, 0x00, 0x67, 0x70, 0x69, 0x6F, 0x00,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __cariboulite_dtbo_h__
|
|
@ -9,11 +9,13 @@
|
|||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
#include <endian.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/types.h>
|
||||
#include "cariboulite_eeprom.h"
|
||||
#include "cariboulite_dtbo.h"
|
||||
|
||||
//===========================================================
|
||||
static int file_exists(char* fname, int *size, int *dir, int *file, int *dev)
|
||||
|
@ -46,7 +48,8 @@ static int write_to_file(char* fname, char* data, int size_of_data)
|
|||
fclose(fid);
|
||||
return -1;
|
||||
}
|
||||
return fclose(fid);
|
||||
fclose(fid);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
|
@ -63,7 +66,8 @@ static int read_from_file(char* fname, char* data, int len_to_read)
|
|||
fclose(fid);
|
||||
return -1;
|
||||
}
|
||||
return fclose(fid);
|
||||
fclose(fid);
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
|
@ -96,7 +100,7 @@ static uint16_t getcrc(char* data, unsigned int size)
|
|||
|
||||
/* Cycle check: */
|
||||
if(bit_flag)
|
||||
out ^= CRC16;
|
||||
out ^= CRC16_POLY;
|
||||
}
|
||||
|
||||
// item b) "push out" the last 16 bits
|
||||
|
@ -105,7 +109,7 @@ static uint16_t getcrc(char* data, unsigned int size)
|
|||
bit_flag = out >> 15;
|
||||
out <<= 1;
|
||||
if(bit_flag)
|
||||
out ^= CRC16;
|
||||
out ^= CRC16_POLY;
|
||||
}
|
||||
|
||||
// item c) reverse the bits
|
||||
|
@ -266,6 +270,7 @@ static int init_eeprom_device(char* eeprom_type, uint8_t i2c_addr)
|
|||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
// recheck that the file exists now
|
||||
ee_exists = file_exists(sys_dir_bus_addr, NULL, &dir, NULL, NULL);
|
||||
if (!ee_exists || !dir)
|
||||
|
@ -347,68 +352,18 @@ static int read_eeprom(cariboulite_eeprom_st *ee, char* buffer, int length)
|
|||
return read_from_file(eeprom_fname, buffer, length);
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_init(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
ZF_LOGI("Initializing caribou eeprom driver");
|
||||
switch (ee->eeprom_type)
|
||||
{
|
||||
case eeprom_type_24c32: strcpy(ee->eeprom_type_name, "24c32"); ee->eeprom_size = 4096; break;
|
||||
case eeprom_type_24c64: strcpy(ee->eeprom_type_name, "24c64"); ee->eeprom_size = 8192; break;
|
||||
case eeprom_type_24c128: strcpy(ee->eeprom_type_name, "24c128"); ee->eeprom_size = 16384; break;
|
||||
case eeprom_type_24c256: strcpy(ee->eeprom_type_name, "24c256"); ee->eeprom_size = 32768; break;
|
||||
case eeprom_type_24c512: strcpy(ee->eeprom_type_name, "24c512"); ee->eeprom_size = 65536; break;
|
||||
case eeprom_type_24c1024: strcpy(ee->eeprom_type_name, "24c1024"); ee->eeprom_size = 131072; break;
|
||||
default: strcpy(ee->eeprom_type_name, "24c32"); ee->eeprom_size = 4096; break; // lowest denominator
|
||||
}
|
||||
|
||||
ee->bus = init_eeprom_device(ee->eeprom_type_name, ee->i2c_address);
|
||||
if (ee->bus < 0)
|
||||
{
|
||||
ZF_LOGE("Initializing caribou eeprom driver failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ee->eeprom_buffer_size = ee->eeprom_size > MAX_EEPROM_BUF_SIZE ? MAX_EEPROM_BUF_SIZE : ee->eeprom_size;
|
||||
ee->eeprom_buffer = (uint8_t *)malloc(ee->eeprom_buffer_size);
|
||||
if (ee->eeprom_buffer == NULL)
|
||||
{
|
||||
ZF_LOGE("eeprom buffer allocation failed");
|
||||
close_eeprom_device(ee->bus, ee->i2c_address);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ee->initialized = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_close(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
ZF_LOGI("closing caribou eeprom driver");
|
||||
if (!ee->initialized)
|
||||
{
|
||||
ZF_LOGE("eeprom is not initialized");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ee->eeprom_buffer != NULL) free(ee->eeprom_buffer);
|
||||
|
||||
return close_eeprom_device(ee->bus, ee->i2c_address);
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
static void eeprom_print_header(struct header_t *header)
|
||||
{
|
||||
ZF_LOGI("# HEADER: signature=0x%08x", header->signature);
|
||||
ZF_LOGI("# HEADER: version=0x%02x", header->ver);
|
||||
ZF_LOGI("# HEADER: format version=0x%02x", header->ver);
|
||||
ZF_LOGI("# HEADER: reserved=%u", header->res);
|
||||
ZF_LOGI("# HEADER: numatoms=%u", header->numatoms);
|
||||
ZF_LOGI("# HEADER: eeplen=%u", header->eeplen);
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
static void eeprom_print_vendor(struct vendor_info_d * vinf)
|
||||
static void eeprom_print_vendor(struct vendor_info_t * vinf)
|
||||
{
|
||||
ZF_LOGI("Vendor info: product_uuid %08x-%04x-%04x-%04x-%04x%08x",
|
||||
vinf->serial_4, vinf->serial_3>>16,
|
||||
|
@ -421,7 +376,7 @@ static void eeprom_print_vendor(struct vendor_info_d * vinf)
|
|||
}
|
||||
|
||||
//===========================================================
|
||||
static void eeprom_print_gpio(struct gpio_map_d *gpiomap)
|
||||
static void eeprom_print_gpio(struct gpio_map_t *gpiomap)
|
||||
{
|
||||
ZF_LOGI("GPIO map info: gpio_drive %d", gpiomap->flags & 15); //1111
|
||||
ZF_LOGI("GPIO map info: gpio_slew %d", (gpiomap->flags & 48)>>4); //110000
|
||||
|
@ -468,11 +423,111 @@ static void eeprom_print_gpio(struct gpio_map_d *gpiomap)
|
|||
ZF_LOGI("# GPIO map info: setgpio %d %s %s", j, func_str, pull_str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_print(cariboulite_eeprom_st *ee)
|
||||
static void eeprom_print_dt_data(struct dt_data_t *data)
|
||||
{
|
||||
ZF_LOGI("# Device Tree info: length = %d", data->dt_data_size);
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
static int cariboulite_eeprom_valid(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
if (!ee->initialized)
|
||||
{
|
||||
ZF_LOGE("eeprom driver is not initialized");
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint8_t *location = ee->eeprom_buffer;
|
||||
uint32_t offset = 0;
|
||||
|
||||
// check the header
|
||||
struct header_t* header = (struct header_t*)location;
|
||||
if (header->signature != HEADER_SIGN || header->ver != FORMAT_VERSION)
|
||||
{
|
||||
// signature: 0x52, 0x2D, 0x50, 0x69 ("R-Pi" in ASCII)
|
||||
// EEPROM data format version (0x00 reserved, 0x01 = first version)
|
||||
ZF_LOGD("Signature (0x%08X) / version (0x%02X) not valid", header->signature, header->ver);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
if (header->res != 0)
|
||||
{
|
||||
ZF_LOGD("Reserved field not zero (0x%08X)", header->res);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
if (header->numatoms < 2)
|
||||
{
|
||||
ZF_LOGD("Number of atoms smaller than 3 (%d)", header->numatoms);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
if (header->eeplen > ee->eeprom_buffer_total_size)
|
||||
{
|
||||
ZF_LOGD("The declared data-size larger than eeprom size (%d > %d)",
|
||||
header->eeplen, ee->eeprom_buffer_total_size);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
// Now check every atom and check its validity
|
||||
// we won't dive deeper in the atoms as the crc16 should be sufficiently
|
||||
// informative on the validity in addition to all the constants etc.
|
||||
int i;
|
||||
location += sizeof(struct header_t);
|
||||
offset += sizeof(struct header_t);
|
||||
for (i = 0; i<header->numatoms; i++)
|
||||
{
|
||||
struct atom_t *atom = (struct atom_t *)location;
|
||||
if (atom->type != ATOM_VENDOR_TYPE &&
|
||||
atom->type != ATOM_GPIO_TYPE &&
|
||||
atom->type != ATOM_DT_TYPE &&
|
||||
atom->type != ATOM_CUSTOM_TYPE)
|
||||
{
|
||||
ZF_LOGD("Found an invalid atom type (%d @ #%d)", atom->type, i);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
if (atom->count != i)
|
||||
{
|
||||
ZF_LOGD("Atom #%d count inconcistent", i, atom->count);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
if ((offset + 10 + atom->dlen) > ee->eeprom_buffer_total_size)
|
||||
{
|
||||
ZF_LOGD("Atom #%d data length + crc16 don't fit into eeprom");
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
// calculate crc
|
||||
uint16_t calc_crc = getcrc((char*)atom, 8 + atom->dlen);
|
||||
uint16_t actual_crc = ATOM_CRC(atom);
|
||||
if (actual_crc != calc_crc)
|
||||
{
|
||||
ZF_LOGD("Atom #%d calc_crc (0x%04X) doesn't match the actual_crc (0x%04X)",
|
||||
i, calc_crc, actual_crc);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
location += 10 + atom->dlen;
|
||||
offset += 10 + atom->dlen;
|
||||
}
|
||||
|
||||
if (header->eeplen != offset)
|
||||
{
|
||||
ZF_LOGD("The eeprom header total length doesn't match contents calculated size (%d <=> %d)",
|
||||
header->eeplen, offset);
|
||||
return 0; // not valid
|
||||
}
|
||||
|
||||
return 1; // valid
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
static int cariboulite_eeprom_contents_parse(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
uint8_t *location = NULL;
|
||||
if (!ee->initialized)
|
||||
|
@ -481,80 +536,301 @@ int cariboulite_eeprom_print(cariboulite_eeprom_st *ee)
|
|||
return 0;
|
||||
}
|
||||
|
||||
ZF_LOGI("Reading eeprom configuration (%d bytes)...", ee->eeprom_buffer_size);
|
||||
if (read_eeprom(ee, ee->eeprom_buffer, ee->eeprom_buffer_size) != ee->eeprom_buffer_size)
|
||||
ZF_LOGI("Reading eeprom configuration (%d bytes)...", ee->eeprom_buffer_total_size);
|
||||
if (read_eeprom(ee, ee->eeprom_buffer, ee->eeprom_buffer_total_size) < 0)
|
||||
{
|
||||
ZF_LOGE("Reading from eeprom failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
location = ee->eeprom_buffer;
|
||||
memcpy(&ee->header, location, sizeof(ee->header));
|
||||
location += sizeof(ee->header);
|
||||
|
||||
ZF_LOGI("# ---------- Dump generated by eepdump handling format version 0x%02x ---------- #", FORMAT_VERSION);
|
||||
|
||||
if (FORMAT_VERSION!=ee->header.ver) ZF_LOGI("# WARNING: format version mismatch!!!");
|
||||
if (HEADER_SIGN!=ee->header.signature) ZF_LOGI("# WARNING: format signature mismatch!!!");
|
||||
if (FORMAT_VERSION!=ee->header.ver && HEADER_SIGN!=ee->header.signature)
|
||||
// check the eeprom data's validity
|
||||
if ( !cariboulite_eeprom_valid(ee) )
|
||||
{
|
||||
ZF_LOGE("header version and signature mismatch, maybe wrong file?");
|
||||
ZF_LOGE("EEPROM data is not valid. Try reconfiguring it.");
|
||||
return -1;
|
||||
}
|
||||
eeprom_print_header(&ee->header);
|
||||
|
||||
location = ee->eeprom_buffer;
|
||||
|
||||
// Header
|
||||
memcpy(&ee->header, location, sizeof(ee->header));
|
||||
location += sizeof(ee->header);
|
||||
|
||||
// Atoms
|
||||
for (int i = 0; i < ee->header.numatoms; i++)
|
||||
{
|
||||
struct atom_t *atom = (struct atom_t *)location;
|
||||
ZF_LOGI("# Start of atom #%u of type 0x%04x and length %u", atom->count, atom->type, atom->dlen);
|
||||
|
||||
if (atom->count != i) ZF_LOGE("Error: atom count mismatch");
|
||||
if ((uint32_t)ee->eeprom_buffer_size < atom->dlen)
|
||||
{
|
||||
ZF_LOGE("size of atom[%i] = %i longer than rest of data (%i)", i, atom->dlen, ee->eeprom_buffer_size);
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint8_t *location_of_data = location + ATOM_SIZE - CRC_SIZE;
|
||||
uint8_t *location_of_crc = location + ATOM_SIZE + atom->dlen - CRC_SIZE;
|
||||
uint16_t *crc = (uint16_t*)location_of_crc;
|
||||
uint16_t calc_crc = getcrc(location, atom->dlen + ATOM_SIZE - CRC_SIZE);
|
||||
|
||||
if (calc_crc != (*crc))
|
||||
{
|
||||
ZF_LOGE("Error: atom %d CRC16 mismatch. Calculated CRC16=0x%02x", i, calc_crc);
|
||||
return -1;
|
||||
}
|
||||
uint8_t *atom_data = location + ATOM_HEADER_SIZE;
|
||||
|
||||
// Analyze he atom internal infomration
|
||||
location = location_of_data;
|
||||
switch (atom->type)
|
||||
{
|
||||
//-------------------------------------------------------------
|
||||
case ATOM_VENDOR_TYPE:
|
||||
{
|
||||
memcpy(&ee->vinf, location, VENDOR_SIZE);
|
||||
location += VENDOR_SIZE;
|
||||
memcpy(&ee->vinf.vstr, location, ee->vinf.vslen); location += ee->vinf.vslen;
|
||||
memcpy(&ee->vinf.pstr, location, ee->vinf.pslen);location += ee->vinf.pslen;
|
||||
uint8_t *it = atom_data;
|
||||
memcpy(&ee->vinf, it, VENDOR_STATIC_SIZE); it += VENDOR_STATIC_SIZE;
|
||||
memcpy(&ee->vinf.vstr, it, ee->vinf.vslen); it += ee->vinf.vslen;
|
||||
memcpy(&ee->vinf.pstr, it, ee->vinf.pslen); it += ee->vinf.pslen;
|
||||
ee->vinf.vstr[ee->vinf.vslen] = 0;
|
||||
ee->vinf.pstr[ee->vinf.pslen] = 0;
|
||||
eeprom_print_vendor(&ee->vinf);
|
||||
} break;
|
||||
|
||||
//-------------------------------------------------------------
|
||||
case ATOM_GPIO_TYPE:
|
||||
{
|
||||
memcpy(&ee->gpiomap, location, GPIO_SIZE);
|
||||
eeprom_print_gpio(&ee->gpiomap);
|
||||
memcpy(&ee->gpiomap, atom_data, GPIO_MAP_SIZE);
|
||||
} break;
|
||||
|
||||
//-------------------------------------------------------------
|
||||
case ATOM_DT_TYPE:
|
||||
{
|
||||
ee->dt_data.dt_data = (uint8_t*)malloc(atom->dlen);
|
||||
if (ee->dt_data.dt_data == NULL)
|
||||
{
|
||||
ZF_LOGE("Failed allocating dt data.");
|
||||
return -1;
|
||||
}
|
||||
ee->dt_data.dt_data_size = atom->dlen;
|
||||
memcpy(&ee->dt_data.dt_data, atom_data, ee->dt_data.dt_data_size);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
default:
|
||||
ZF_LOGE("Error: unrecognised atom type");
|
||||
break;
|
||||
}
|
||||
|
||||
location += ATOM_TOTAL_SIZE(atom);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
static int cariboulite_eeprom_fill_in(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
struct atom_t *atom = NULL;
|
||||
uint8_t *location = ee->eeprom_buffer_to_write;
|
||||
struct header_t* header = (struct header_t*)ee->eeprom_buffer_to_write;
|
||||
|
||||
// Header generation
|
||||
// -------------------------------------------------------
|
||||
header->signature = HEADER_SIGN;
|
||||
header->ver = FORMAT_VERSION;
|
||||
header->res = 0;
|
||||
header->numatoms = 0;
|
||||
header->eeplen = sizeof(struct header_t);
|
||||
|
||||
// Vendor information generation
|
||||
// -------------------------------------------------------
|
||||
location += header->eeplen;
|
||||
atom = (struct atom_t*)location;
|
||||
struct vendor_info_t* vinf = (struct vendor_info_t*)(location + ATOM_HEADER_SIZE);
|
||||
|
||||
vinf->pid = 1;
|
||||
vinf->pver = 1;
|
||||
vinf->vslen = strlen("CaribouLabs.co");
|
||||
vinf->pslen = strlen("CaribouLite RPI Hat");
|
||||
strcpy(VENDOR_VSTR_POINT(vinf), "CaribouLabs.co");
|
||||
strcpy(VENDOR_PSTR_POINT(vinf), "CaribouLite RPI Hat");
|
||||
|
||||
//read 128 random bits from /dev/urandom
|
||||
int random_file = open("/dev/urandom", O_RDONLY);
|
||||
ssize_t result = read(random_file, &vinf->serial_1, 16);
|
||||
close(random_file);
|
||||
|
||||
if (result <= 0)
|
||||
{
|
||||
printf("Unable to read from /dev/urandom to set up UUID");
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
//put in the version
|
||||
vinf->serial_3 = (ee->vinf.serial_3 & 0xffff0fff) | 0x00004000;
|
||||
//put in the variant
|
||||
vinf->serial_2 = (ee->vinf.serial_2 & 0x3fffffff) | 0x80000000;
|
||||
printf("Gen UUID=%08x-%04x-%04x-%04x-%04x%08x\n", vinf->serial_4,
|
||||
vinf->serial_3>>16,
|
||||
vinf->serial_3 & 0xffff,
|
||||
vinf->serial_2>>16,
|
||||
vinf->serial_2 & 0xffff,
|
||||
vinf->serial_1);
|
||||
}
|
||||
|
||||
atom->type = ATOM_VENDOR_TYPE;
|
||||
atom->count = 0;
|
||||
atom->dlen = VENDOR_INFO_COMPACT_SIZE(vinf);
|
||||
ATOM_CRC(atom) = getcrc((uint8_t*)atom, ATOM_DATA_SIZE(atom));
|
||||
header->eeplen += ATOM_TOTAL_SIZE(atom);
|
||||
header->numatoms += 1;
|
||||
|
||||
// GPIO map information
|
||||
// -------------------------------------------------------
|
||||
location += ATOM_TOTAL_SIZE(atom);
|
||||
atom = (struct atom_t*)location;
|
||||
atom->type = ATOM_GPIO_TYPE;
|
||||
atom->count = 1;
|
||||
atom->dlen = GPIO_MAP_SIZE;
|
||||
struct gpio_map_t* gpio = (struct gpio_map_t*)(location+ATOM_HEADER_SIZE);
|
||||
gpio->flags = 0; // drive, slew, hysteresis => 0=leave at default
|
||||
gpio->power = 0; // 0 = no back power
|
||||
gpio->pins[2] = GPIO_MAP_BITS(5,2,1); // SMI SA3
|
||||
gpio->pins[3] = GPIO_MAP_BITS(5,2,1); // SMI SA2
|
||||
gpio->pins[4] = GPIO_MAP_BITS(5,2,1); // SMI SA1
|
||||
gpio->pins[5] = GPIO_MAP_BITS(1,0,1); // MXR_RESET
|
||||
gpio->pins[6] = GPIO_MAP_BITS(5,2,1); // SMI SOE_SE
|
||||
gpio->pins[7] = GPIO_MAP_BITS(5,2,1); // SMI SWE_SRW
|
||||
gpio->pins[8] = GPIO_MAP_BITS(5,0,1); // SMI SD0
|
||||
gpio->pins[9] = GPIO_MAP_BITS(5,0,1); // SMI SD1
|
||||
gpio->pins[10] = GPIO_MAP_BITS(5,0,1); // SMI SD2
|
||||
gpio->pins[11] = GPIO_MAP_BITS(5,0,1); // SMI SD3
|
||||
gpio->pins[12] = GPIO_MAP_BITS(5,0,1); // SMI SD4
|
||||
gpio->pins[13] = GPIO_MAP_BITS(5,0,1); // SMI SD5
|
||||
gpio->pins[14] = GPIO_MAP_BITS(5,0,1); // SMI SD6
|
||||
gpio->pins[15] = GPIO_MAP_BITS(5,0,1); // SMI SD7
|
||||
gpio->pins[16] = GPIO_MAP_BITS(0,0,1); // SPI1 CS #2 - MIXER
|
||||
gpio->pins[17] = GPIO_MAP_BITS(0,0,1); // SPI1 CS #1 - MODEM
|
||||
gpio->pins[18] = GPIO_MAP_BITS(0,0,1); // SPI1 CS #0 - FPGA
|
||||
gpio->pins[19] = GPIO_MAP_BITS(0,0,1); // SPI1 MISO
|
||||
gpio->pins[20] = GPIO_MAP_BITS(0,0,1); // SPI1 MOSI
|
||||
gpio->pins[21] = GPIO_MAP_BITS(0,0,1); // SPI1 SCK
|
||||
gpio->pins[22] = GPIO_MAP_BITS(0,1,1); // MODEM IRQ
|
||||
gpio->pins[23] = GPIO_MAP_BITS(1,0,1); // MODEM RESET
|
||||
gpio->pins[24] = GPIO_MAP_BITS(5,0,1); // SMI READ_REQ
|
||||
gpio->pins[25] = GPIO_MAP_BITS(5,0,1); // SMI WRITE_REQ
|
||||
gpio->pins[26] = GPIO_MAP_BITS(1,0,1); // FPGA RESET
|
||||
gpio->pins[27] = GPIO_MAP_BITS(0,0,1); // FPGA CDONE
|
||||
ATOM_CRC(atom) = getcrc((uint8_t*)atom, ATOM_DATA_SIZE(atom));
|
||||
|
||||
header->eeplen += ATOM_TOTAL_SIZE(atom);
|
||||
header->numatoms += 1;
|
||||
|
||||
// Device Tree information
|
||||
// -------------------------------------------------------
|
||||
/*location += ATOM_TOTAL_SIZE(atom);
|
||||
atom = (struct atom_t*)location;
|
||||
atom->type = ATOM_DT_TYPE;
|
||||
atom->count = 2;
|
||||
atom->dlen = sizeof(cariboulite_dtbo);
|
||||
uint8_t *dt_data = (uint8_t *)(location+ATOM_HEADER_SIZE);
|
||||
memcpy(dt_data, cariboulite_dtbo, atom->dlen);
|
||||
header->eeplen += ATOM_TOTAL_SIZE(atom);
|
||||
header->numatoms += 1;
|
||||
*/
|
||||
|
||||
ee->eeprom_buffer_to_write_used_size = header->eeplen;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_init(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
ZF_LOGI("Initializing caribou eeprom driver");
|
||||
switch (ee->eeprom_type)
|
||||
{
|
||||
case eeprom_type_24c32: strcpy(ee->eeprom_type_name, "24c32"); ee->eeprom_size = 4096; break;
|
||||
case eeprom_type_24c64: strcpy(ee->eeprom_type_name, "24c64"); ee->eeprom_size = 8192; break;
|
||||
case eeprom_type_24c128: strcpy(ee->eeprom_type_name, "24c128"); ee->eeprom_size = 16384; break;
|
||||
case eeprom_type_24c256: strcpy(ee->eeprom_type_name, "24c256"); ee->eeprom_size = 32768; break;
|
||||
case eeprom_type_24c512: strcpy(ee->eeprom_type_name, "24c512"); ee->eeprom_size = 65536; break;
|
||||
case eeprom_type_24c1024: strcpy(ee->eeprom_type_name, "24c1024"); ee->eeprom_size = 131072; break;
|
||||
default: strcpy(ee->eeprom_type_name, "24c32"); ee->eeprom_size = 4096; break; // lowest denominator
|
||||
}
|
||||
|
||||
ee->bus = init_eeprom_device(ee->eeprom_type_name, ee->i2c_address);
|
||||
if (ee->bus < 0)
|
||||
{
|
||||
ZF_LOGE("Initializing caribou eeprom driver failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ee->eeprom_buffer = NULL;
|
||||
ee->eeprom_buffer_to_write = NULL;
|
||||
|
||||
ee->eeprom_buffer_total_size = ee->eeprom_size > MAX_EEPROM_BUF_SIZE ? MAX_EEPROM_BUF_SIZE : ee->eeprom_size;
|
||||
ee->eeprom_buffer = (uint8_t *)malloc(ee->eeprom_buffer_total_size);
|
||||
if (ee->eeprom_buffer == NULL)
|
||||
{
|
||||
ZF_LOGE("eeprom buffer allocation failed");
|
||||
close_eeprom_device(ee->bus, ee->i2c_address);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ee->eeprom_buffer_to_write_total_size = ee->eeprom_size > MAX_EEPROM_BUF_SIZE ? MAX_EEPROM_BUF_SIZE : ee->eeprom_size;
|
||||
ee->eeprom_buffer_to_write = (uint8_t *)malloc(ee->eeprom_buffer_to_write_total_size);
|
||||
if (ee->eeprom_buffer_to_write == NULL)
|
||||
{
|
||||
ZF_LOGE("eeprom buffer to write allocation failed");
|
||||
close_eeprom_device(ee->bus, ee->i2c_address);
|
||||
return -1;
|
||||
}
|
||||
ee->eeprom_buffer_to_write_used_size = 0;;
|
||||
|
||||
ee->initialized = 1;
|
||||
|
||||
// check if the eeprom is initialized (of contains FFFF garbage)
|
||||
ee->eeprom_initialized = 0;
|
||||
if (read_eeprom(ee, ee->eeprom_buffer, ee->eeprom_buffer_total_size) < 0)
|
||||
{
|
||||
ZF_LOGE("Reading from eeprom failed");
|
||||
return -1;
|
||||
}
|
||||
ee->eeprom_initialized = cariboulite_eeprom_valid(ee);
|
||||
cariboulite_eeprom_contents_parse(ee);
|
||||
|
||||
if (!ee->eeprom_initialized)
|
||||
{
|
||||
ZF_LOGI("=======================================================");
|
||||
ZF_LOGI("The EEPROM is not initialized or corrupted");
|
||||
cariboulite_eeprom_fill_in(ee);
|
||||
ZF_LOGI("Push the button on the board and hold, then press ENTER to continue...");
|
||||
getchar();
|
||||
write_eeprom(ee, ee->eeprom_buffer_to_write, ee->eeprom_buffer_to_write_used_size);
|
||||
ZF_LOGI("EEPROM configuration Done");
|
||||
ZF_LOGI("=======================================================");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_close(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
ZF_LOGI("closing caribou eeprom driver");
|
||||
if (!ee->initialized)
|
||||
{
|
||||
ZF_LOGE("eeprom is not initialized");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ee->eeprom_buffer != NULL) free(ee->eeprom_buffer);
|
||||
if (ee->eeprom_buffer_to_write != NULL) free(ee->eeprom_buffer_to_write);
|
||||
ee->eeprom_buffer_total_size = 0;
|
||||
ee->eeprom_buffer_to_write_total_size = 0;
|
||||
|
||||
return 0;
|
||||
//return close_eeprom_device(ee->bus, ee->i2c_address);
|
||||
}
|
||||
|
||||
//===========================================================
|
||||
int cariboulite_eeprom_print(cariboulite_eeprom_st *ee)
|
||||
{
|
||||
if (!ee->eeprom_initialized)
|
||||
{
|
||||
if (cariboulite_eeprom_contents_parse(ee) != 0)
|
||||
{
|
||||
ZF_LOGE("Parsing EEPROM data failed - try reconfiguring");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
eeprom_print_header(&ee->header);
|
||||
eeprom_print_vendor(&ee->vinf);
|
||||
eeprom_print_gpio(&ee->gpiomap);
|
||||
eeprom_print_dt_data(&ee->dt_data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,35 +3,31 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Atom types */
|
||||
/* Header type */
|
||||
#define FORMAT_VERSION 0x01
|
||||
#define MAX_STRLEN 256
|
||||
#define MAX_EEPROM_BUF_SIZE 16384
|
||||
|
||||
// Signature is "R-Pi" in ASCII. It is required to reversed (little endian) on disk.
|
||||
#define HEADER_SIGN be32toh((((char)'R' << 24) | ((char)'-' << 16) | ((char)'P' << 8) | ((char)'i')))
|
||||
|
||||
/* Atom type */
|
||||
#define ATOM_INVALID_TYPE 0x0000
|
||||
#define ATOM_VENDOR_TYPE 0x0001
|
||||
#define ATOM_GPIO_TYPE 0x0002
|
||||
#define ATOM_DT_TYPE 0x0003
|
||||
#define ATOM_CUSTOM_TYPE 0x0004
|
||||
#define ATOM_HINVALID_TYPE 0xffff
|
||||
|
||||
#define ATOM_VENDOR_NUM 0x0000
|
||||
#define ATOM_GPIO_NUM 0x0001
|
||||
#define ATOM_DT_NUM 0x0002
|
||||
#define CRC16_POLY 0x8005
|
||||
|
||||
//minimal sizes of data structures
|
||||
#define HEADER_SIZE 12
|
||||
#define ATOM_SIZE 10
|
||||
#define VENDOR_SIZE 22
|
||||
#define GPIO_SIZE 30
|
||||
#define CRC_SIZE 2
|
||||
|
||||
#define GPIO_MIN 2
|
||||
#define GPIO_COUNT 28
|
||||
|
||||
#define FORMAT_VERSION 0x01
|
||||
|
||||
#define CRC16 0x8005
|
||||
|
||||
#define MAX_STRLEN 256
|
||||
#define MAX_EEPROM_BUF_SIZE 16384
|
||||
/* GPIO type */
|
||||
#define GPIO_MIN 2
|
||||
#define GPIO_COUNT 28
|
||||
|
||||
/* EEPROM yypes */
|
||||
typedef enum
|
||||
{
|
||||
eeprom_type_24c32 = 4096,
|
||||
|
@ -43,9 +39,6 @@ typedef enum
|
|||
} eeprom_type_en;
|
||||
|
||||
/* EEPROM header structure */
|
||||
// Signature is "R-Pi" in ASCII. It is required to reversed (little endian) on disk.
|
||||
#define HEADER_SIGN be32toh((((char)'R' << 24) | ((char)'-' << 16) | ((char)'P' << 8) | ((char)'i')))
|
||||
|
||||
struct header_t {
|
||||
uint32_t signature;
|
||||
unsigned char ver;
|
||||
|
@ -54,6 +47,8 @@ struct header_t {
|
|||
uint32_t eeplen;
|
||||
};
|
||||
|
||||
#define HEADER_SIZE ( sizeof(struct header_t) )
|
||||
|
||||
/* Atom structure */
|
||||
struct atom_t
|
||||
{
|
||||
|
@ -64,8 +59,14 @@ struct atom_t
|
|||
uint16_t crc16;
|
||||
};
|
||||
|
||||
#define ATOM_HEADER_SIZE ( 8 )
|
||||
#define ATOM_CRC_SIZE ( 2 )
|
||||
#define ATOM_DATA_SIZE(a) ( ATOM_HEADER_SIZE + ((a)->dlen) )
|
||||
#define ATOM_CRC(a) ( *(uint16_t*)( ((uint8_t*)(a)) + ATOM_DATA_SIZE(a) ) )
|
||||
#define ATOM_TOTAL_SIZE(a) ( ATOM_DATA_SIZE(a) + ATOM_CRC_SIZE)
|
||||
|
||||
/* Vendor info atom data */
|
||||
struct vendor_info_d
|
||||
struct vendor_info_t
|
||||
{
|
||||
uint32_t serial_1; //least significant
|
||||
uint32_t serial_2;
|
||||
|
@ -79,16 +80,35 @@ struct vendor_info_d
|
|||
char pstr[MAX_STRLEN + 1];
|
||||
};
|
||||
|
||||
#define VENDOR_STATIC_SIZE ( 4*sizeof(uint32_t) + 2*sizeof(uint16_t) + 2*sizeof(char) )
|
||||
#define VENDOR_VSTR_POINT(v) ( (uint8_t*)(v) + VENDOR_STATIC_SIZE )
|
||||
#define VENDOR_PSTR_POINT(v) ( (uint8_t*)(v) + VENDOR_STATIC_SIZE + (v)->vslen )
|
||||
#define VENDOR_INFO_COMPACT_SIZE(v) ( VENDOR_STATIC_SIZE + (v)->vslen + (v)->pslen )
|
||||
|
||||
/* GPIO map atom data */
|
||||
struct gpio_map_d
|
||||
struct gpio_map_t
|
||||
{
|
||||
unsigned char flags;
|
||||
unsigned char power;
|
||||
unsigned char pins[GPIO_COUNT];
|
||||
};
|
||||
#define GPIO_MAP_SIZE (sizeof(struct gpio_map_t))
|
||||
|
||||
// [2:0] func_sel GPIO function as per FSEL GPIO register field in BCM2835 datasheet
|
||||
// [4:3] reserved set to 0
|
||||
// [6:5] pulltype 0=leave at default setting, 1=pullup, 2=pulldown, 3=no pull
|
||||
// [ 7] is_used 1=board uses this pin, 0=not connected and therefore not used
|
||||
|
||||
#define GPIO_MAP_BITS(func,pull,used) ( (uint8_t)( ((func)&0x7) | ((pull)&0x3)<<5 | ((used)&0x1)<<7 ) )
|
||||
|
||||
struct dt_data_t
|
||||
{
|
||||
char* dt_data;
|
||||
uint32_t dt_data_size;
|
||||
};
|
||||
|
||||
#define CARIBOULITE_CUSTOM_DATA_LEN 256
|
||||
struct caribou_lite_data_d
|
||||
struct caribou_lite_data_t
|
||||
{
|
||||
char custom_data[CARIBOULITE_CUSTOM_DATA_LEN];
|
||||
};
|
||||
|
@ -99,16 +119,22 @@ typedef struct
|
|||
eeprom_type_en eeprom_type;
|
||||
|
||||
int initialized;
|
||||
int eeprom_initialized;
|
||||
int bus;
|
||||
char eeprom_type_name[32];
|
||||
int eeprom_size;
|
||||
char* eeprom_buffer;
|
||||
int eeprom_buffer_size;
|
||||
int eeprom_buffer_total_size;
|
||||
|
||||
char* eeprom_buffer_to_write;
|
||||
int eeprom_buffer_to_write_total_size;
|
||||
int eeprom_buffer_to_write_used_size;
|
||||
|
||||
struct header_t header;
|
||||
struct vendor_info_d vinf;
|
||||
struct gpio_map_d gpiomap;
|
||||
struct caribou_lite_data_d custom_data;
|
||||
struct vendor_info_t vinf;
|
||||
struct gpio_map_t gpiomap;
|
||||
struct dt_data_t dt_data;
|
||||
struct caribou_lite_data_t custom_data;
|
||||
} cariboulite_eeprom_st;
|
||||
|
||||
int cariboulite_eeprom_init(cariboulite_eeprom_st *ee);
|
||||
|
|
|
@ -8,24 +8,17 @@ cariboulite_eeprom_st ee =
|
|||
.eeprom_type = eeprom_type_24c32,
|
||||
};
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
/*int ret;
|
||||
|
||||
if (argc<3) {
|
||||
printf("Wrong input format.\n");
|
||||
printf("Try 'eepdump input_file output_file'\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ret = cariboulite_eeprom_read_from_file(&ee, argv[1], argv[2]);
|
||||
if (ret) {
|
||||
printf("Error reading input, aborting\n");
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
if (cariboulite_eeprom_init(&ee) != 0)
|
||||
{
|
||||
printf("error\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
//test();
|
||||
cariboulite_eeprom_print(&ee);
|
||||
|
||||
cariboulite_eeprom_close(&ee);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Plik diff jest za duży
Load Diff
|
@ -16,7 +16,7 @@ set(EXTERN_LIBS ${SUPER_DIR}/io_utils/build/libio_utils.a ${SUPER_DIR}/zf_log/bu
|
|||
#Generate the static library from the sources
|
||||
add_library(rffc507x STATIC ${SOURCES_LIB})
|
||||
add_executable(test_rffc507x ${SOURCES})
|
||||
target_link_libraries(test_rffc507x rt pthread lgpio ${EXTERN_LIBS})
|
||||
target_link_libraries(test_rffc507x rt pthread ${EXTERN_LIBS})
|
||||
|
||||
#Set the location for library installation -- i.e., /usr/lib in this case
|
||||
# not really necessary in this example. Use "sudo make install" to apply
|
||||
|
|
|
@ -0,0 +1,366 @@
|
|||
# This is the CMakeCache file.
|
||||
# For build in directory: /home/pi/projects/cariboulite/software/utils
|
||||
# It was generated by CMake: /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||
// MinSizeRel ...
|
||||
CMAKE_BUILD_TYPE:STRING=
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
//CXX compiler
|
||||
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-8
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//C compiler
|
||||
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-8
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Enable/Disable output of compile commands during generation.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=cariboulite_utils
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Value Computed by CMake
|
||||
cariboulite_utils_BINARY_DIR:STATIC=/home/pi/projects/cariboulite/software/utils
|
||||
|
||||
//Value Computed by CMake
|
||||
cariboulite_utils_SOURCE_DIR:STATIC=/home/pi/projects/cariboulite/software/utils
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/home/pi/projects/cariboulite/software/utils
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=18
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/lib/python3.7/dist-packages/cmake/data/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/pi/projects/cariboulite/software/utils
|
||||
//Install .so files without execute permission.
|
||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_NM
|
||||
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "8.3.0")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-8")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-8")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "4")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/arm-linux-gnueabihf/8/include;/usr/local/include;/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed;/usr/include/arm-linux-gnueabihf;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/arm-linux-gnueabihf/8;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
|
@ -0,0 +1,89 @@
|
|||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "8.3.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-8")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-8")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "arm-linux-gnueabihf")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/8;/usr/include/arm-linux-gnueabihf/c++/8;/usr/include/c++/8/backward;/usr/lib/gcc/arm-linux-gnueabihf/8/include;/usr/local/include;/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed;/usr/include/arm-linux-gnueabihf;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/arm-linux-gnueabihf/8;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,15 @@
|
|||
set(CMAKE_HOST_SYSTEM "Linux-5.10.60-v7l+")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "5.10.60-v7l+")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "armv7l")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-5.10.60-v7l+")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "5.10.60-v7l+")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "armv7l")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
|
@ -0,0 +1,674 @@
|
|||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__)
|
||||
# if (defined(_MSC_VER) && !defined(__clang__)) \
|
||||
|| (defined(__ibmxl__) || defined(__IBMC__))
|
||||
# define C_DIALECT "90"
|
||||
# else
|
||||
# define C_DIALECT
|
||||
# endif
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_DIALECT "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_DIALECT "99"
|
||||
#else
|
||||
# define C_DIALECT "90"
|
||||
#endif
|
||||
const char* info_language_dialect_default =
|
||||
"INFO" ":" "dialect_default[" C_DIALECT "]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,663 @@
|
|||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
|
||||
#if CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/pi/projects/cariboulite/software/utils")
|
||||
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/pi/projects/cariboulite/software/utils")
|
||||
|
||||
# Force unix paths in dependencies.
|
||||
set(CMAKE_FORCE_UNIX_PATHS 1)
|
||||
|
||||
|
||||
# The C and CXX include file regular expressions for this directory.
|
||||
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
|
||||
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
|
|
@ -0,0 +1,403 @@
|
|||
The system is: Linux - 5.10.60-v7l+ - armv7l
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler: /usr/bin/cc
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||
|
||||
The C compiler identification is GNU, found in "/home/pi/projects/cariboulite/software/utils/CMakeFiles/3.18.4/CompilerIdC/a.out"
|
||||
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /usr/bin/c++
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||
|
||||
The CXX compiler identification is GNU, found in "/home/pi/projects/cariboulite/software/utils/CMakeFiles/3.18.4/CompilerIdCXX/a.out"
|
||||
|
||||
Detecting C compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_d9a53/fast && /usr/bin/make -f CMakeFiles/cmTC_d9a53.dir/build.make CMakeFiles/cmTC_d9a53.dir/build
|
||||
make[1]: Entering directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp'
|
||||
Building C object CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o
|
||||
/usr/bin/cc -v -o CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -c /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCCompilerABI.c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
Target: arm-linux-gnueabihf
|
||||
Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
|
||||
Thread model: posix
|
||||
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/cc1 -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mfloat-abi=hard -mfpu=vfp -mtls-dialect=gnu -marm -march=armv6+fp -auxbase-strip CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -version -o /tmp/cc7c2j8A.s
|
||||
GNU C17 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)
|
||||
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/include
|
||||
/usr/local/include
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed
|
||||
/usr/include/arm-linux-gnueabihf
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C17 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)
|
||||
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: bcc8c085e8c103b65550a3bb7c44a354
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
as -v -march=armv6 -mfloat-abi=hard -mfpu=vfp -meabi=5 -o CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o /tmp/cc7c2j8A.s
|
||||
GNU assembler version 2.31.1 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Raspbian) 2.31.1
|
||||
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/
|
||||
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
Linking C executable cmTC_d9a53
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d9a53.dir/link.txt --verbose=1
|
||||
/usr/bin/cc -v CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -o cmTC_d9a53
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper
|
||||
Target: arm-linux-gnueabihf
|
||||
Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
|
||||
Thread model: posix
|
||||
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
|
||||
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/
|
||||
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d9a53' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/collect2 -plugin /usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF3kHvH.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X --hash-style=gnu -m armelf_linux_eabi -o cmTC_d9a53 /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o -L/usr/lib/gcc/arm-linux-gnueabihf/8 -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d9a53' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
make[1]: Leaving directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed C implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
add: [/usr/include/arm-linux-gnueabihf]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/arm-linux-gnueabihf/8/include] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
collapse include dir [/usr/include/arm-linux-gnueabihf] ==> [/usr/include/arm-linux-gnueabihf]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/arm-linux-gnueabihf/8/include;/usr/local/include;/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed;/usr/include/arm-linux-gnueabihf;/usr/include]
|
||||
|
||||
|
||||
Parsed C implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_d9a53/fast && /usr/bin/make -f CMakeFiles/cmTC_d9a53.dir/build.make CMakeFiles/cmTC_d9a53.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building C object CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o]
|
||||
ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -c /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [Target: arm-linux-gnueabihf]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/cc1 -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mfloat-abi=hard -mfpu=vfp -mtls-dialect=gnu -marm -march=armv6+fp -auxbase-strip CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -version -o /tmp/cc7c2j8A.s]
|
||||
ignore line: [GNU C17 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)]
|
||||
ignore line: [ compiled by GNU C version 8.3.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.20-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
ignore line: [ /usr/include/arm-linux-gnueabihf]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C17 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)]
|
||||
ignore line: [ compiled by GNU C version 8.3.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.20-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: bcc8c085e8c103b65550a3bb7c44a354]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [ as -v -march=armv6 -mfloat-abi=hard -mfpu=vfp -meabi=5 -o CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o /tmp/cc7c2j8A.s]
|
||||
ignore line: [GNU assembler version 2.31.1 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Raspbian) 2.31.1]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o' '-c' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [Linking C executable cmTC_d9a53]
|
||||
ignore line: [/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d9a53.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -o cmTC_d9a53 ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper]
|
||||
ignore line: [Target: arm-linux-gnueabihf]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d9a53' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
link line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/collect2 -plugin /usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF3kHvH.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X --hash-style=gnu -m armelf_linux_eabi -o cmTC_d9a53 /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o -L/usr/lib/gcc/arm-linux-gnueabihf/8 -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o]
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccF3kHvH.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib/ld-linux-armhf.so.3] ==> ignore
|
||||
arg [-X] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [armelf_linux_eabi] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_d9a53] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o] ==> ignore
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8]
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf]
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8/../../..] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../..]
|
||||
arg [-L/lib/arm-linux-gnueabihf] ==> dir [/lib/arm-linux-gnueabihf]
|
||||
arg [-L/usr/lib/arm-linux-gnueabihf] ==> dir [/usr/lib/arm-linux-gnueabihf]
|
||||
arg [CMakeFiles/cmTC_d9a53.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o] ==> ignore
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8]
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf] ==> [/usr/lib/arm-linux-gnueabihf]
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../..] ==> [/usr/lib]
|
||||
collapse library dir [/lib/arm-linux-gnueabihf] ==> [/lib/arm-linux-gnueabihf]
|
||||
collapse library dir [/usr/lib/arm-linux-gnueabihf] ==> [/usr/lib/arm-linux-gnueabihf]
|
||||
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
|
||||
implicit dirs: [/usr/lib/gcc/arm-linux-gnueabihf/8;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
Detecting CXX compiler ABI info compiled with the following output:
|
||||
Change Dir: /home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp
|
||||
|
||||
Run Build Command(s):/usr/bin/make cmTC_24193/fast && /usr/bin/make -f CMakeFiles/cmTC_24193.dir/build.make CMakeFiles/cmTC_24193.dir/build
|
||||
make[1]: Entering directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp'
|
||||
Building CXX object CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/c++ -v -o CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
Target: arm-linux-gnueabihf
|
||||
Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
|
||||
Thread model: posix
|
||||
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/cc1plus -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -D_GNU_SOURCE /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mfloat-abi=hard -mfpu=vfp -mtls-dialect=gnu -marm -march=armv6+fp -auxbase-strip CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccrienf2.s
|
||||
GNU C++14 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)
|
||||
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring duplicate directory "/usr/include/arm-linux-gnueabihf/c++/8"
|
||||
ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/include/c++/8
|
||||
/usr/include/arm-linux-gnueabihf/c++/8
|
||||
/usr/include/c++/8/backward
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/include
|
||||
/usr/local/include
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed
|
||||
/usr/include/arm-linux-gnueabihf
|
||||
/usr/include
|
||||
End of search list.
|
||||
GNU C++14 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)
|
||||
compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
Compiler executable checksum: 7defdc925cf5fede452fc531d54623d1
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
as -v -march=armv6 -mfloat-abi=hard -mfpu=vfp -meabi=5 -o CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccrienf2.s
|
||||
GNU assembler version 2.31.1 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Raspbian) 2.31.1
|
||||
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/
|
||||
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
Linking CXX executable cmTC_24193
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_24193.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -v CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_24193
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper
|
||||
Target: arm-linux-gnueabihf
|
||||
Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
|
||||
Thread model: posix
|
||||
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
|
||||
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/
|
||||
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_24193' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
/usr/lib/gcc/arm-linux-gnueabihf/8/collect2 -plugin /usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHLN6Zb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X --hash-style=gnu -m armelf_linux_eabi -o cmTC_24193 /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o -L/usr/lib/gcc/arm-linux-gnueabihf/8 -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_24193' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp'
|
||||
make[1]: Leaving directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp'
|
||||
|
||||
|
||||
|
||||
Parsed CXX implicit include dir info from above output: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/include/c++/8]
|
||||
add: [/usr/include/arm-linux-gnueabihf/c++/8]
|
||||
add: [/usr/include/c++/8/backward]
|
||||
add: [/usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
add: [/usr/include/arm-linux-gnueabihf]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/include/c++/8] ==> [/usr/include/c++/8]
|
||||
collapse include dir [/usr/include/arm-linux-gnueabihf/c++/8] ==> [/usr/include/arm-linux-gnueabihf/c++/8]
|
||||
collapse include dir [/usr/include/c++/8/backward] ==> [/usr/include/c++/8/backward]
|
||||
collapse include dir [/usr/lib/gcc/arm-linux-gnueabihf/8/include] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
collapse include dir [/usr/include/arm-linux-gnueabihf] ==> [/usr/include/arm-linux-gnueabihf]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/include/c++/8;/usr/include/arm-linux-gnueabihf/c++/8;/usr/include/c++/8/backward;/usr/lib/gcc/arm-linux-gnueabihf/8/include;/usr/local/include;/usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed;/usr/include/arm-linux-gnueabihf;/usr/include]
|
||||
|
||||
|
||||
Parsed CXX implicit link information from above output:
|
||||
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
|
||||
ignore line: [Change Dir: /home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp]
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s):/usr/bin/make cmTC_24193/fast && /usr/bin/make -f CMakeFiles/cmTC_24193.dir/build.make CMakeFiles/cmTC_24193.dir/build]
|
||||
ignore line: [make[1]: Entering directory '/home/pi/projects/cariboulite/software/utils/CMakeFiles/CMakeTmp']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -c /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [Target: arm-linux-gnueabihf]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/cc1plus -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -D_GNU_SOURCE /usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mfloat-abi=hard -mfpu=vfp -mtls-dialect=gnu -marm -march=armv6+fp -auxbase-strip CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccrienf2.s]
|
||||
ignore line: [GNU C++14 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)]
|
||||
ignore line: [ compiled by GNU C version 8.3.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.20-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring duplicate directory "/usr/include/arm-linux-gnueabihf/c++/8"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/arm-linux-gnueabihf/8/../../../../arm-linux-gnueabihf/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/include/c++/8]
|
||||
ignore line: [ /usr/include/arm-linux-gnueabihf/c++/8]
|
||||
ignore line: [ /usr/include/c++/8/backward]
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/include-fixed]
|
||||
ignore line: [ /usr/include/arm-linux-gnueabihf]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [GNU C++14 (Raspbian 8.3.0-6+rpi1) version 8.3.0 (arm-linux-gnueabihf)]
|
||||
ignore line: [ compiled by GNU C version 8.3.0 GMP version 6.1.2 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.20-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [Compiler executable checksum: 7defdc925cf5fede452fc531d54623d1]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [ as -v -march=armv6 -mfloat-abi=hard -mfpu=vfp -meabi=5 -o CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccrienf2.s]
|
||||
ignore line: [GNU assembler version 2.31.1 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Raspbian) 2.31.1]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
ignore line: [Linking CXX executable cmTC_24193]
|
||||
ignore line: [/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_24193.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_24193 ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper]
|
||||
ignore line: [Target: arm-linux-gnueabihf]
|
||||
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1) ]
|
||||
ignore line: [COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/8/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/8/../../../:/lib/arm-linux-gnueabihf/:/lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_24193' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfp' '-mtls-dialect=gnu' '-marm' '-march=armv6+fp']
|
||||
link line: [ /usr/lib/gcc/arm-linux-gnueabihf/8/collect2 -plugin /usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHLN6Zb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X --hash-style=gnu -m armelf_linux_eabi -o cmTC_24193 /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o -L/usr/lib/gcc/arm-linux-gnueabihf/8 -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/8/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o]
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/ccHLN6Zb.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib/ld-linux-armhf.so.3] ==> ignore
|
||||
arg [-X] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [armelf_linux_eabi] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_24193] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crt1.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/crtbegin.o] ==> ignore
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8]
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf]
|
||||
arg [-L/usr/lib/gcc/arm-linux-gnueabihf/8/../../..] ==> dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../..]
|
||||
arg [-L/lib/arm-linux-gnueabihf] ==> dir [/lib/arm-linux-gnueabihf]
|
||||
arg [-L/usr/lib/arm-linux-gnueabihf] ==> dir [/usr/lib/arm-linux-gnueabihf]
|
||||
arg [CMakeFiles/cmTC_24193.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/crtend.o] ==> ignore
|
||||
arg [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o] ==> ignore
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8] ==> [/usr/lib/gcc/arm-linux-gnueabihf/8]
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf] ==> [/usr/lib/arm-linux-gnueabihf]
|
||||
collapse library dir [/usr/lib/gcc/arm-linux-gnueabihf/8/../../..] ==> [/usr/lib]
|
||||
collapse library dir [/lib/arm-linux-gnueabihf] ==> [/lib/arm-linux-gnueabihf]
|
||||
collapse library dir [/usr/lib/arm-linux-gnueabihf] ==> [/usr/lib/arm-linux-gnueabihf]
|
||||
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
|
||||
implicit dirs: [/usr/lib/gcc/arm-linux-gnueabihf/8;/usr/lib/arm-linux-gnueabihf;/usr/lib;/lib/arm-linux-gnueabihf]
|
||||
implicit fwks: []
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# The generator used is:
|
||||
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
|
||||
# The top level Makefile was generated from the following files:
|
||||
set(CMAKE_MAKEFILE_DEPENDS
|
||||
"CMakeCache.txt"
|
||||
"CMakeFiles/3.18.4/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.18.4/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.18.4/CMakeSystem.cmake"
|
||||
"CMakeLists.txt"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCInformation.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeInitializeConfigs.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Compiler/GNU-C.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Compiler/GNU.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Internal/CMakeCheckCompilerFlag.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Platform/Linux.cmake"
|
||||
"/usr/local/lib/python3.7/dist-packages/cmake/data/share/cmake-3.18/Modules/Platform/UnixPaths.cmake"
|
||||
)
|
||||
|
||||
# The corresponding makefile is:
|
||||
set(CMAKE_MAKEFILE_OUTPUTS
|
||||
"Makefile"
|
||||
"CMakeFiles/cmake.check_cache"
|
||||
)
|
||||
|
||||
# Byproducts of CMake generate step:
|
||||
set(CMAKE_MAKEFILE_PRODUCTS
|
||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||
)
|
||||
|
||||
# Dependency information for all targets:
|
||||
set(CMAKE_DEPEND_INFO_FILES
|
||||
"CMakeFiles/generate_bin_blob.dir/DependInfo.cmake"
|
||||
)
|
|
@ -0,0 +1,125 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
#=============================================================================
|
||||
# Directory level rules for the build root directory
|
||||
|
||||
# The main recursive "all" target.
|
||||
all: CMakeFiles/generate_bin_blob.dir/all
|
||||
|
||||
.PHONY : all
|
||||
|
||||
# The main recursive "preinstall" target.
|
||||
preinstall:
|
||||
|
||||
.PHONY : preinstall
|
||||
|
||||
# The main recursive "clean" target.
|
||||
clean: CMakeFiles/generate_bin_blob.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/generate_bin_blob.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/generate_bin_blob.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/utils/CMakeFiles --progress-num=1,2 "Built target generate_bin_blob"
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/generate_bin_blob.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/utils/CMakeFiles 2
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/generate_bin_blob.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/utils/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
generate_bin_blob: CMakeFiles/generate_bin_blob.dir/rule
|
||||
|
||||
.PHONY : generate_bin_blob
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/generate_bin_blob.dir/clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/clean
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/install/strip.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/edit_cache.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/rebuild_cache.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/list_install_components.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/install.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/generate_bin_blob.dir
|
||||
/home/pi/projects/cariboulite/software/utils/CMakeFiles/install/local.dir
|
|
@ -0,0 +1 @@
|
|||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
|
@ -0,0 +1,22 @@
|
|||
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
|
||||
|
||||
#IncludeRegexScan: ^.*$
|
||||
|
||||
#IncludeRegexComplain: ^$
|
||||
|
||||
#IncludeRegexTransform:
|
||||
|
||||
/home/pi/projects/cariboulite/software/utils/generate_bin_blob.c
|
||||
stdio.h
|
||||
-
|
||||
sys/stat.h
|
||||
-
|
||||
sys/types.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
time.h
|
||||
-
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
"C"
|
||||
)
|
||||
# The set of files for implicit dependencies of each language:
|
||||
set(CMAKE_DEPENDS_CHECK_C
|
||||
"/home/pi/projects/cariboulite/software/utils/generate_bin_blob.c" "/home/pi/projects/cariboulite/software/utils/CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o"
|
||||
)
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
|
||||
# The include file search paths:
|
||||
set(CMAKE_C_TARGET_INCLUDE_PATH
|
||||
"/."
|
||||
".."
|
||||
)
|
||||
|
||||
# Targets to which this target links.
|
||||
set(CMAKE_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
|
@ -0,0 +1,117 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/generate_bin_blob.dir/depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/generate_bin_blob.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/generate_bin_blob.dir/flags.make
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o: CMakeFiles/generate_bin_blob.dir/flags.make
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o: generate_bin_blob.c
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects/cariboulite/software/utils/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o -c /home/pi/projects/cariboulite/software/utils/generate_bin_blob.c
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.i"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/pi/projects/cariboulite/software/utils/generate_bin_blob.c > CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.i
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/pi/projects/cariboulite/software/utils/generate_bin_blob.c -o CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.s
|
||||
|
||||
# Object files for target generate_bin_blob
|
||||
generate_bin_blob_OBJECTS = \
|
||||
"CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o"
|
||||
|
||||
# External object files for target generate_bin_blob
|
||||
generate_bin_blob_EXTERNAL_OBJECTS =
|
||||
|
||||
generate_bin_blob: CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o
|
||||
generate_bin_blob: CMakeFiles/generate_bin_blob.dir/build.make
|
||||
generate_bin_blob: CMakeFiles/generate_bin_blob.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/pi/projects/cariboulite/software/utils/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable generate_bin_blob"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/generate_bin_blob.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/generate_bin_blob.dir/build: generate_bin_blob
|
||||
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/build
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/generate_bin_blob.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/clean
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/depend:
|
||||
cd /home/pi/projects/cariboulite/software/utils && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/pi/projects/cariboulite/software/utils /home/pi/projects/cariboulite/software/utils /home/pi/projects/cariboulite/software/utils /home/pi/projects/cariboulite/software/utils /home/pi/projects/cariboulite/software/utils/CMakeFiles/generate_bin_blob.dir/DependInfo.cmake --color=$(COLOR)
|
||||
.PHONY : CMakeFiles/generate_bin_blob.dir/depend
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o"
|
||||
"generate_bin_blob"
|
||||
"generate_bin_blob.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang C)
|
||||
include(CMakeFiles/generate_bin_blob.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
|
@ -0,0 +1,5 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o
|
||||
/home/pi/projects/cariboulite/software/utils/generate_bin_blob.c
|
|
@ -0,0 +1,5 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o: generate_bin_blob.c
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# compile C with /usr/bin/cc
|
||||
C_DEFINES =
|
||||
|
||||
C_INCLUDES = -I/. -I/home/pi/projects/cariboulite/software/utils/..
|
||||
|
||||
C_FLAGS = -O3 -DNDEBUG
|
||||
|
|
@ -0,0 +1 @@
|
|||
/usr/bin/cc -O3 -DNDEBUG CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o -o generate_bin_blob
|
|
@ -0,0 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 1
|
||||
CMAKE_PROGRESS_2 = 2
|
||||
|
|
@ -0,0 +1 @@
|
|||
2
|
|
@ -0,0 +1,19 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
project(cariboulite_utils)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
|
||||
#Bring the headers, such as Student.h into the project
|
||||
set(SUPER_DIR ${PROJECT_SOURCE_DIR}/..)
|
||||
include_directories(/.)
|
||||
include_directories(${SUPER_DIR})
|
||||
|
||||
set(SOURCE_GEN_BLOB generate_bin_blob.c)
|
||||
set(EXTERN_LIBS )
|
||||
|
||||
#Generate the static library from the sources
|
||||
add_executable(generate_bin_blob ${SOURCE_GEN_BLOB})
|
||||
target_link_libraries(generate_bin_blob ${EXTERN_LIBS})
|
||||
|
||||
#Set the location for library installation -- i.e., /usr/lib in this case
|
||||
# not really necessary in this example. Use "sudo make install" to apply
|
||||
install(TARGETS generate_bin_blob DESTINATION /usr/lib)
|
|
@ -0,0 +1,247 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.18
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
|
||||
/usr/local/lib/python3.7/dist-packages/cmake/data/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/utils/CMakeFiles /home/pi/projects/cariboulite/software/utils//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/utils/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named generate_bin_blob
|
||||
|
||||
# Build rule for target.
|
||||
generate_bin_blob: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 generate_bin_blob
|
||||
.PHONY : generate_bin_blob
|
||||
|
||||
# fast build rule for target.
|
||||
generate_bin_blob/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/build
|
||||
.PHONY : generate_bin_blob/fast
|
||||
|
||||
generate_bin_blob.o: generate_bin_blob.c.o
|
||||
|
||||
.PHONY : generate_bin_blob.o
|
||||
|
||||
# target to build an object file
|
||||
generate_bin_blob.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.o
|
||||
.PHONY : generate_bin_blob.c.o
|
||||
|
||||
generate_bin_blob.i: generate_bin_blob.c.i
|
||||
|
||||
.PHONY : generate_bin_blob.i
|
||||
|
||||
# target to preprocess a source file
|
||||
generate_bin_blob.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.i
|
||||
.PHONY : generate_bin_blob.c.i
|
||||
|
||||
generate_bin_blob.s: generate_bin_blob.c.s
|
||||
|
||||
.PHONY : generate_bin_blob.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
generate_bin_blob.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/generate_bin_blob.dir/build.make CMakeFiles/generate_bin_blob.dir/generate_bin_blob.c.s
|
||||
.PHONY : generate_bin_blob.c.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... install"
|
||||
@echo "... install/local"
|
||||
@echo "... install/strip"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... generate_bin_blob"
|
||||
@echo "... generate_bin_blob.o"
|
||||
@echo "... generate_bin_blob.i"
|
||||
@echo "... generate_bin_blob.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
# Install script for directory: /home/pi/projects/cariboulite/software/utils
|
||||
|
||||
# Set the install prefix
|
||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
||||
endif()
|
||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Set the install configuration name.
|
||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
if(BUILD_TYPE)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Release")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
# Set the component getting installed.
|
||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(COMPONENT)
|
||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_COMPONENT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install shared libraries without execute permission?
|
||||
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
set(CMAKE_INSTALL_SO_NO_EXE "1")
|
||||
endif()
|
||||
|
||||
# Is this installation the result of a crosscompile?
|
||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
endif()
|
||||
|
||||
# Set default install directory permissions.
|
||||
if(NOT DEFINED CMAKE_OBJDUMP)
|
||||
set(CMAKE_OBJDUMP "/usr/bin/objdump")
|
||||
endif()
|
||||
|
||||
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(EXISTS "$ENV{DESTDIR}/usr/lib/generate_bin_blob" AND
|
||||
NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/generate_bin_blob")
|
||||
file(RPATH_CHECK
|
||||
FILE "$ENV{DESTDIR}/usr/lib/generate_bin_blob"
|
||||
RPATH "")
|
||||
endif()
|
||||
list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
|
||||
"/usr/lib/generate_bin_blob")
|
||||
if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
|
||||
message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
|
||||
endif()
|
||||
if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
|
||||
message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
|
||||
endif()
|
||||
file(INSTALL DESTINATION "/usr/lib" TYPE EXECUTABLE FILES "/home/pi/projects/cariboulite/software/utils/generate_bin_blob")
|
||||
if(EXISTS "$ENV{DESTDIR}/usr/lib/generate_bin_blob" AND
|
||||
NOT IS_SYMLINK "$ENV{DESTDIR}/usr/lib/generate_bin_blob")
|
||||
if(CMAKE_INSTALL_DO_STRIP)
|
||||
execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/lib/generate_bin_blob")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_COMPONENT)
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||
else()
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
file(WRITE "/home/pi/projects/cariboulite/software/utils/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
|
||||
#define LINE_LEN 16
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
int file_exists(char* fname, int *size, int *dir, int *file, int *dev)
|
||||
{
|
||||
struct stat st;
|
||||
if(stat(fname,&st) != 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dir) *dir = S_ISDIR(st.st_mode);
|
||||
if (file) *file = S_ISREG(st.st_mode);
|
||||
if (dev) *dev = S_ISCHR(st.st_mode) || S_ISBLK(st.st_mode);
|
||||
if (size) *size = st.st_size;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
void get_filename_ext_from_path(char* full_path, char* file_path, char* file_name, char* file_ext)
|
||||
{
|
||||
char path[256] = {0};
|
||||
strcpy(path, full_path);
|
||||
|
||||
char* ext = NULL;
|
||||
char* name = NULL;
|
||||
|
||||
for(size_t i = strlen(path) - 1; i; i--)
|
||||
{
|
||||
if (path[i] == '.' && ext == NULL)
|
||||
{
|
||||
ext = &path[i+1];
|
||||
path[i] = '\0';
|
||||
}
|
||||
|
||||
if (path[i] == '/' && name == NULL)
|
||||
{
|
||||
name = &path[i+1];
|
||||
path[i] = '\0';
|
||||
}
|
||||
}
|
||||
if (name == NULL)
|
||||
{
|
||||
name = &path[0];
|
||||
if (file_path) strcpy(file_path, "");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (file_path) strcpy(file_path, path);
|
||||
}
|
||||
if (file_name) strcpy(file_name, name);
|
||||
if (file_ext) strcpy(file_ext, ext);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char path[128], name[128], ext[128];
|
||||
int size_of_file = 0;
|
||||
|
||||
if (argc < 4)
|
||||
{
|
||||
printf("Code (C/C++ Header) generation from binary file, Ver 1.0\n");
|
||||
printf("Usage: generate_code [binary_file] [variable_name] [code filename]\n");
|
||||
printf(" binary_file - the file to be converted into a code blob\n");
|
||||
printf(" variable name - The variable name of type uint8_t[] within the code file\n");
|
||||
printf(" code filename - the filename of the generated c/c++ code (typically a header file)\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *bin_file = argv[1];
|
||||
char *var_name = argv[2];
|
||||
char *code_file = argv[3];
|
||||
|
||||
if ( !file_exists(bin_file, &size_of_file, NULL, NULL, NULL) )
|
||||
{
|
||||
printf("binary file doesn't exist: %s\n", bin_file);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// open the binary file
|
||||
FILE* f_bin = NULL;
|
||||
f_bin = fopen(bin_file, "rb");
|
||||
if (f_bin == NULL)
|
||||
{
|
||||
printf("binary file doesn't exist: %s\n", bin_file);
|
||||
return -1;
|
||||
}
|
||||
|
||||
FILE* f_code = fopen (code_file, "w");
|
||||
if (f_code == NULL)
|
||||
{
|
||||
printf("Couldn't open the code file %s for writing\n", code_file);
|
||||
fclose(f_bin);
|
||||
return -1;
|
||||
}
|
||||
|
||||
get_filename_ext_from_path(code_file, path, name, ext);
|
||||
printf("The code filename is path: '%s', name: '%s', ext: '%s'\n",
|
||||
path, name, ext);
|
||||
|
||||
fprintf(f_code, "/*\n"
|
||||
" * This file was automatically generated using the 'generate_bin_blob' tool\n"
|
||||
" * Modification of this file is not recommanded - please re-generate it\n"
|
||||
" * as needed and embed in the code library.\n"
|
||||
" */\n\n");
|
||||
|
||||
fprintf(f_code, "#ifndef __%s_%s__\n", name, ext);
|
||||
fprintf(f_code, "#define __%s_%s__\n\n", name, ext);
|
||||
|
||||
fprintf(f_code, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
|
||||
fprintf(f_code, "#include <stdio.h>\n");
|
||||
fprintf(f_code, "#include <stdint.h>\n");
|
||||
fprintf(f_code, "#include <time.h>\n\n");
|
||||
|
||||
|
||||
time_t t = time(NULL);
|
||||
struct tm tm = *localtime(&t);
|
||||
|
||||
fprintf(f_code, "/*\n"
|
||||
" * Time tagging of the module through the 'struct tm' structure \n"
|
||||
" * Date: %d-%02d-%02d\n"
|
||||
" * Time: %02d:%02d:%02d\n"
|
||||
" */\n",
|
||||
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
|
||||
fprintf(f_code, "struct tm %s_date_time = {\n", var_name);
|
||||
fprintf(f_code, " .tm_sec = %d,\n", tm.tm_sec);
|
||||
fprintf(f_code, " .tm_min = %d,\n", tm.tm_min);
|
||||
fprintf(f_code, " .tm_hour = %d,\n", tm.tm_hour);
|
||||
fprintf(f_code, " .tm_mday = %d,\n", tm.tm_mday);
|
||||
fprintf(f_code, " .tm_mon = %d, /* +1 */\n", tm.tm_mon);
|
||||
fprintf(f_code, " .tm_year = %d, /* +1900 */\n", tm.tm_year);
|
||||
fprintf(f_code, "};\n\n");
|
||||
|
||||
fprintf(f_code, "/*\n"
|
||||
" * Data blob of variable %s:\n"
|
||||
" * Size: %d bytes\n"
|
||||
" * Original filename: %s\n"
|
||||
" */\n", var_name, size_of_file, bin_file);
|
||||
fprintf(f_code, "uint8_t %s[] = {", var_name);
|
||||
|
||||
for (int j = 0; j < size_of_file; j ++)
|
||||
{
|
||||
uint8_t b = 0;
|
||||
fread(&b, 1, 1, f_bin);
|
||||
|
||||
if ((j % LINE_LEN) == 0) fprintf(f_code, "\n\t");
|
||||
fprintf(f_code, "0x%02X, ", b);
|
||||
if (j == (size_of_file - 1)) fprintf(f_code, "\n};\n\n");
|
||||
}
|
||||
|
||||
fprintf(f_code, "#ifdef __cplusplus\n}\n#endif\n\n");
|
||||
fprintf(f_code, "#endif // __%s_%s__\n", name, ext);
|
||||
|
||||
fclose(f_bin);
|
||||
fclose(f_code);
|
||||
|
||||
return 0;
|
||||
}
|
Ładowanie…
Reference in New Issue