etmc / tmLQCD

tmLQCD is a freely available software suite providing a set of tools to be used in lattice QCD simulations. This is mainly a HMC implementation (including PHMC and RHMC) for Wilson, Wilson Clover and Wilson twisted mass fermions and inverter for different versions of the Dirac operator. The code is fully parallelised and ships with optimisations for various modern architectures, such as commodity PC clusters and the Blue Gene family.
http://www.itkp.uni-bonn.de/~urbach/software.html
GNU General Public License v3.0
32 stars 47 forks source link

config.h inclusion everywhere #4

Open kostrzewa opened 12 years ago

kostrzewa commented 12 years ago

Every .c file needs to start with

ifdef HAVE_CONFIG_H

include<config.h>

endif

before any other includes, otherwise certain defines do not take effect.

I do not know any case where this is happening right now, reported by Carsten.

kostrzewa commented 11 years ago

I think this was done at some point, no?

urbach commented 11 years ago

I'm not sure...

martin-ueding commented 7 years ago

Running grep -L config.h **.c gives a pretty long list of files. It seems this issue is still relevant today?

$ grep -L config.h **.c
buffers/gauge.c
buffers/gauge_allocate_gauge_buffers.c
buffers/gauge_finalize_gauge_buffers.c
buffers/gauge_free_unused_gauge_buffers.c
buffers/gauge_get_gauge_field.c
buffers/gauge_get_gauge_field_array.c
buffers/gauge_initialize_gauge_buffers.c
buffers/gauge_return_gauge_field.c
buffers/gauge_return_gauge_field_array.c
buffers/utils_generic_exchange.c
clenshaw_coef.c
cu/cu.c
DDalphaAMG_interface.c
init/init_jacobi_field.c
io/eospinor_read.c
io/eospinor_write.c
io/gauge_read.c
io/gauge_read_binary.c
io/gauge_write.c
io/gauge_write_binary.c
io/gauge_write_luscher_binary.c
io/io_cm.c
io/params_construct_ildgFormat.c
io/params_construct_InverterInfo.c
io/params_construct_propagatorFormat.c
io/params_construct_sourceFormat.c
io/params_construct_xlfInfo.c
io/spinor_read.c
io/spinor_read_binary.c
io/spinor_write.c
io/spinor_write_binary.c
io/spinor_write_info.c
io/spinor_write_propagator_format.c
io/spinor_write_propagator_type.c
io/spinor_write_source_format.c
io/utils.c
io/utils_close_reader_record.c
io/utils_close_writer_record.c
io/utils_construct_reader.c
io/utils_construct_writer.c
io/utils_destruct_reader.c
io/utils_destruct_writer.c
io/utils_engineering.c
io/utils_kill_with_error.c
io/utils_parse_checksum_xml.c
io/utils_parse_ildgformat_xml.c
io/utils_parse_propagator_type.c
io/utils_read_message.c
io/utils_write_checksum.c
io/utils_write_first_message.c
io/utils_write_header.c
io/utils_write_ildg_format.c
io/utils_write_inverter_info.c
io/utils_write_message.c
io/utils_write_xlf.c
io/utils_write_xlf_xml.c
linalg/assign_add_mul_body.c
linalg/scalar_prod_body.c
little_D_body.c
operator/assign_mul_one_sw_pm_imu_inv_block_body.c
operator/assign_mul_one_sw_pm_imu_site_lexic_body.c
operator/Block_D_psi_body.c
operator/D_psi_body.c
operator/Dov_proj.c
operator/halfspinor_bg_dbl.c
operator/halfspinor_bgq_dbl.c
operator/halfspinor_body.c
operator/halfspinor_body_32.c
operator/halfspinor_sse_dbl.c
operator/hopping_bg_dbl.c
operator/hopping_body_dbl.c
operator/hopping_sgl.c
operator/hopping_sse_dbl.c
operator/hopping_sse_sgl.c
operator/mul_one_pm_imu_inv_body.c
operator/mul_one_pm_imu_sub_mul_body.c
quda_interface.c
smearing/ape_ape_smear.c
smearing/hex_hex_smear.c
smearing/hex_stout_exclude_none.c
smearing/hex_stout_exclude_one.c
smearing/hex_stout_exclude_two.c
smearing/hyp_APE_project_exclude_none.c
smearing/hyp_APE_project_exclude_one.c
smearing/hyp_APE_project_exclude_two.c
smearing/hyp_hyp_smear.c
smearing/hyp_hyp_staples_exclude_none.c
smearing/hyp_hyp_staples_exclude_one.c
smearing/hyp_hyp_staples_exclude_two.c
smearing/stout_stout_smear.c
smearing/uils_print_config_to_screen.c
smearing/utils_generic_staples.c
smearing/utils_print_config_to_screen.c
smearing/utils_print_su3.c
smearing/utils_project_antiherm.c
smearing/utils_project_herm.c
smearing/utils_reunitarize.c
smearing/utils_reunitarize_MILC.c
solver/fgmres4complex_body.c
solver/gcr4complex_body.c
solver/little_mg_precon_body.c
solver/little_project_eo_body.c
solver/M_plus_block_psi_body.c
solver/mode_number.c
solver/mrblk_body.c
tests/test_clover.c
tests/test_qpx.c
tests/test_sample.c
tests/test_sample_ts1.c
tests/test_sample_ts2.c
tests/test_su3.c
util/io.c
util/laguer/laguer.c
util/main_ildg2uk.c
util/oox/oox.c
util/swapendian.c
wrapper/lib_wrapper.c
xchange/little_field_gather_body.c