Merge pull request #158 from rtburns-jpl/odr

Fix violations of ODR
LT1AB
Ryan Burns 2020-11-18 13:04:31 -08:00 committed by GitHub
commit f44a0edf1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 93 additions and 40 deletions

View File

@ -31,3 +31,19 @@ list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES ${abs_libdir} isSystemDir)
if("${isSystemDir}" STREQUAL "-1") if("${isSystemDir}" STREQUAL "-1")
list(APPEND CMAKE_INSTALL_RPATH ${abs_libdir}) list(APPEND CMAKE_INSTALL_RPATH ${abs_libdir})
endif() endif()
option(ISCE2_STRICT_COMPILATION "Enable strict checks during compilation" ON)
if(ISCE2_STRICT_COMPILATION)
# Set -fno-common when supported to catch ODR violations
include(CheckCCompilerFlag)
check_c_compiler_flag(-fno-common C_FNO_COMMON)
if(C_FNO_COMMON)
add_compile_options($<$<COMPILE_LANGUAGE:C>:-fno-common>)
endif()
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-fno-common CXX_FNO_COMMON)
if(CXX_FNO_COMMON)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fno-common>)
endif()
endif()

View File

@ -7,6 +7,7 @@ target_include_directories(orbitHermite PUBLIC include)
InstallSameDir( InstallSameDir(
orbitHermite orbitHermite
__init__.py __init__.py
Inertial.py
ODR.py ODR.py
Orbit.py Orbit.py
OrbitExtender.py OrbitExtender.py

View File

@ -67,7 +67,7 @@ Python_add_library(alos MODULE
src/ALOS_pre_process/data_ALOS.h src/ALOS_pre_process/data_ALOS.h
src/ALOS_pre_process/data_ALOSE.h src/ALOS_pre_process/data_ALOSE.h
src/ALOS_pre_process/hermite_c.c src/ALOS_pre_process/hermite_c.c
src/ALOS_pre_process/image_sio.h src/ALOS_pre_process/image_sio.c
src/ALOS_pre_process/init_from_PRM.c src/ALOS_pre_process/init_from_PRM.c
src/ALOS_pre_process/interpolate_ALOS_orbit.c src/ALOS_pre_process/interpolate_ALOS_orbit.c
src/ALOS_pre_process/null_sio_struct.c src/ALOS_pre_process/null_sio_struct.c

View File

@ -10,7 +10,10 @@ headerFiles = ['data_ALOS.h','data_ALOSE.h','image_sio.h','orbit_ALOS.h','sarlea
sourceFiles = ['ALOSE_orbits_utils.c','ALOS_ldr_orbit.c','ALOS_pre_process.c','calc_dop.c','hermite_c.c','init_from_PRM.c', sourceFiles = ['ALOSE_orbits_utils.c','ALOS_ldr_orbit.c','ALOS_pre_process.c','calc_dop.c','hermite_c.c','init_from_PRM.c',
'interpolate_ALOS_orbit.c','null_sio_struct.c','parse_ALOS_commands.c','polyfit.c','read_ALOSE_data.c', 'interpolate_ALOS_orbit.c','null_sio_struct.c','parse_ALOS_commands.c','polyfit.c','read_ALOSE_data.c',
'read_ALOS_data.c','read_ALOS_sarleader.c','roi_utils.c','set_ALOS_defaults.c','siocomplex.c', 'read_ALOS_data.c','read_ALOS_sarleader.c','roi_utils.c','set_ALOS_defaults.c','siocomplex.c',
'swap_ALOS_data_info.c','utils.c','write_ALOS_prm.c','readOrbitPulse.f','readOrbitPulseState.f','readOrbitPulseSetState.f'] 'swap_ALOS_data_info.c','utils.c','write_ALOS_prm.c',
'readOrbitPulse.f','readOrbitPulseState.f',
'readOrbitPulseSetState.f','image_sio.c',
]
lib = envSensorSrc1.Library(target = 'alos', source = sourceFiles) lib = envSensorSrc1.Library(target = 'alos', source = sourceFiles)
envSensorSrc1.Install(install,lib) envSensorSrc1.Install(install,lib)
envSensorSrc1.Alias('install',install) envSensorSrc1.Alias('install',install)

View File

@ -0,0 +1,16 @@
#include "image_sio.h"
int verbose;
int debug;
int roi;
int swap;
int quad_pol;
int ALOS_format;
int force_slope;
int dopp;
int quiet_flag;
int SAR_mode;
double forced_slope;
double tbias;

View File

@ -146,19 +146,19 @@ radar_wavelength lambda
rng_spec_wgt rhww rng_spec_wgt rhww
*/ */
int verbose; /* controls minimal level of output */ extern int verbose; /* controls minimal level of output */
int debug; /* more output */ extern int debug; /* more output */
int roi; /* more output */ extern int roi; /* more output */
int swap; /* whether to swap bytes */ extern int swap; /* whether to swap bytes */
int quad_pol; /* quad polarization data */ extern int quad_pol; /* quad polarization data */
int ALOS_format; /* AUIG: ALOS_format = 0 */ extern int ALOS_format; /* AUIG: ALOS_format = 0 */
/* ERSDAC: ALOS_format = 1 */ /* ERSDAC: ALOS_format = 1 */
int force_slope; /* whether to set the slope */ extern int force_slope; /* whether to set the slope */
int dopp; /* whether to calculate doppler */ extern int dopp; /* whether to calculate doppler */
int quiet_flag; /* reduce output */ extern int quiet_flag; /* reduce output */
int SAR_mode; /* 0 => high-res */ extern int SAR_mode; /* 0 => high-res */
/* 1 => wide obs */ /* 1 => wide obs */
/* 2 => polarimetry */ /* 2 => polarimetry */
/* from ALOS Product Format 3-2 */ /* from ALOS Product Format 3-2 */
double forced_slope; /* value to set chirp_slope to */ extern double forced_slope; /* value to set chirp_slope to */
double tbias; /* time bias for bad orbit data */ extern double tbias; /* time bias for bad orbit data */

View File

@ -60,9 +60,9 @@ int reset_params(struct PRM *prm, long *, int *, int *);
int fill_shift_data(int, int, int, int, int, char *, char *, FILE *); int fill_shift_data(int, int, int, int, int, char *, char *, FILE *);
int handle_prf_change_ALOSE(struct PRM *, FILE *, long *, int); int handle_prf_change_ALOSE(struct PRM *, FILE *, long *, int);
struct sardata_record r1; static struct sardata_record r1;
struct sardata_descriptor_ALOSE dfd; static struct sardata_descriptor_ALOSE dfd;
struct sardata_info_ALOSE sdr; static struct sardata_info_ALOSE sdr;
/* /*
differences in include file from ALOS AUIG differences in include file from ALOS AUIG

View File

@ -67,9 +67,9 @@ int reset_params(struct PRM *prm, long *, int *, int *);
int fill_shift_data(int, int, int, int, int, char *, char *, FILE *); int fill_shift_data(int, int, int, int, int, char *, char *, FILE *);
int handle_prf_change(struct PRM *, FILE *, long *, int); int handle_prf_change(struct PRM *, FILE *, long *, int);
struct sardata_record r1; static struct sardata_record r1;
struct sardata_descriptor dfd; static struct sardata_descriptor dfd;
struct sardata_info sdr; static struct sardata_info sdr;
long read_ALOS_data (FILE *imagefile, FILE *outfile, struct PRM *prm, long *byte_offset) { long read_ALOS_data (FILE *imagefile, FILE *outfile, struct PRM *prm, long *byte_offset) {

View File

@ -0,0 +1,16 @@
#include "image_sio.h"
int verbose;
int debug;
int roi;
int swap;
int quad_pol;
int ALOS_format;
int force_slope;
int dopp;
int quiet_flag;
int SAR_mode;
double forced_slope;
double tbias;

View File

@ -1,6 +1,7 @@
isce2_add_staticlib(alosLib isce2_add_staticlib(alosLib
ALOS_lib/src/cfft1d.c ALOS_lib/src/cfft1d.c
ALOS_lib/src/find_fft_length.c ALOS_lib/src/find_fft_length.c
ALOS_lib/src/image_sio.c
ALOS_lib/src/utils.c ALOS_lib/src/utils.c
ALOS_lib/src/ALOS_ldr_orbit.c ALOS_lib/src/ALOS_ldr_orbit.c
ALOS_lib/src/calc_dop.c ALOS_lib/src/calc_dop.c

View File

@ -146,19 +146,19 @@ radar_wavelength lambda
rng_spec_wgt rhww rng_spec_wgt rhww
*/ */
int verbose; /* controls minimal level of output */ extern int verbose; /* controls minimal level of output */
int debug; /* more output */ extern int debug; /* more output */
int roi; /* more output */ extern int roi; /* more output */
int swap; /* whether to swap bytes */ extern int swap; /* whether to swap bytes */
int quad_pol; /* quad polarization data */ extern int quad_pol; /* quad polarization data */
int ALOS_format; /* AUIG: ALOS_format = 0 */ extern int ALOS_format; /* AUIG: ALOS_format = 0 */
/* ERSDAC: ALOS_format = 1 */ /* ERSDAC: ALOS_format = 1 */
int force_slope; /* whether to set the slope */ extern int force_slope; /* whether to set the slope */
int dopp; /* whether to calculate doppler */ extern int dopp; /* whether to calculate doppler */
int quiet_flag; /* reduce output */ extern int quiet_flag; /* reduce output */
int SAR_mode; /* 0 => high-res */ extern int SAR_mode; /* 0 => high-res */
/* 1 => wide obs */ /* 1 => wide obs */
/* 2 => polarimetry */ /* 2 => polarimetry */
/* from ALOS Product Format 3-2 */ /* from ALOS Product Format 3-2 */
double forced_slope; /* value to set chirp_slope to */ extern double forced_slope; /* value to set chirp_slope to */
double tbias; /* time bias for bad orbit data */ extern double tbias; /* time bias for bad orbit data */