Commit Graph

3447 Commits

Author SHA1 Message Date
Hans Ulrich Niedermann
2a6f415166 Have autoreconf deal with initializing GNU build system
Let the autoreconf tool handle the sequencing of tool calls.

The autoreconf tool has been dealing with calling tools like
aclocal, libtoolize, etc. quite well for about the last 20 years.

This keeps the "bootstrap" script around to keep the old way
of calling bootstrap working, i.e. maintain compatibility with the
existing workflows.
2024-02-19 06:10:33 +01:00
Hans Ulrich Niedermann
c96032a57b Move all autotools helper scripts to auto-aux/
Move all autotools helper scripts and auxiliary files installed
automatically by the autotools to auto-aux/ (e.g. config.guess,
depcomp, install-sh, texinfo.tex, etc.).

Moving AC_CANONICAL_TARGET after AC_CONFIG_AUX_DIR works
around a silent bug in Autoconf 2.69 where the generated
configure script would not find the install-sh file which
has been placed in that given aux directory.

Moved AM_INIT_AUTOMAKE which must also happen after
AC_CONFIG_AUX_DIR.
2024-02-19 06:10:33 +01:00
Hans Ulrich Niedermann
1b5f3935b6 Add example build script for autotools build tests 2024-02-19 06:10:33 +01:00
Hans Ulrich Niedermann
610330f0d9 Remove unused unnecessary commented build code
Remove unused unnecessary commented out build code from
"src/configure.ac".

I accidentally left those comments in commit d15c561a.
2024-02-18 16:21:25 +01:00
Hans Ulrich Niedermann
8fb73a1458 Add basic CI checks using the autotools build
This add some basic CI checks which exercise the autotools build:

  * make targets "all" "install" testing compilation and installation
  * run the same dry-run test-avrdude check as the cmake builds
  * make target "distcheck" testing that dist tarball contains all
    the necessary files
2024-02-18 16:21:19 +01:00
stefanrueger
5c1649dcee Update NEWS 2024-02-15 11:41:52 +13:00
Stefan Rueger
14d1560e52 Merge pull request #1680 from ndim/fix-Wcalloc-transposed-args
Fix -Wcalloc-transposed-args warning
2024-02-15 11:40:20 +13:00
Stefan Rueger
64f2a3ed22 Merge pull request #1686 from stefanrueger/avrintel.h
Make avrintel.h an internal header file for libavrdude
2024-02-15 11:39:27 +13:00
stefanrueger
a82679229a Update NEWS 2024-02-14 21:54:30 +13:00
Stefan Rueger
cdfc88dfc4 Merge pull request #1687 from mcuee/remove_msys2_32bit_build
Remove 32bit MSYS2 mingw32 and clang32 build
2024-02-14 21:53:28 +13:00
mcuee
2357f833e1 Remove 32bit MSYS2 mingw32 and clang32 build
MSYS2 has dropped 32bit binary packages for libusb, libusb-compat-git and libftdi.
2024-02-14 13:36:21 +08:00
stefanrueger
e2a10db193 Make avrintel.h an internal header file for libavrdude 2024-02-14 17:15:21 +13:00
Hans Ulrich Niedermann
e0188195a3 Fix -Wcalloc-transposed-args warning
The calloc(3) function has two arguments: the number of members,
and the size of one member.

sizeof(...) makes more sense as member size, and 1 as number
of members. At least that is what the gcc warning wants.

This was the only compiler warning I could get on my Fedora 40
test build (gcc 14) with CFLAGS="-Wall -Wextra -Werror".
2024-02-07 15:26:18 +01:00
stefanrueger
0179026e09 Add NEWS template for next version 2024-02-08 00:19:33 +13:00
stefanrueger
e599214c9d Update version info for 7.3 v7.3 2024-02-07 23:54:45 +13:00
stefanrueger
fff25530e1 Update NEWS 2024-02-07 23:46:33 +13:00
Stefan Rueger
72500a1018 Merge pull request #1668 from ndim/test-string-equality-operator-typo-fix
The test(1) string comparison uses =, not ==
2024-02-07 23:42:07 +13:00
Hans
b23830c448 Add more programmer descriptions (#1667) 2024-02-07 23:40:43 +13:00
Stefan Rueger
4f1e3871b0 Merge pull request #1663 from ndim/autoconf-package-version
Automatically determine Autoconf package version from cmake package version
2024-02-07 23:34:11 +13:00
Hans Ulrich Niedermann
a97e71a321 The test(1) string comparison uses =, not ==
The test(1) command string comparison operator is a single
equals sign, not a double equals sign.

Pointed out by @mcuee at https://github.com/avrdudes/avrdude/pull/1663?#issuecomment-1931024192
2024-02-07 01:44:01 +01:00
Hans Ulrich Niedermann
d15c561a7a Get AC_INIT version number from CMakeLists.txt
Generate the version number used in the Autotools builds
via a script from the top-level CMakeLists.txt and git
information instead of manual editing.

This script mimics what the avrdude top-level CMakeLists.txt
does for composing AVRDUDE_FULL_VERSION.

Consequently, maintainers do not need to edit the version numbers
in the "src/configure.ac" file's "AC_INIT(...)" line any more.

However, unlike the cmake based builds, this does not print the
commit hash in the "avrdude --help" message or in the "avrdude.conf"
file's "avrdude_conf_version = " line. That will come later.

These are the six build types supported and what avrdude
versions cmake and the autoconf builds actually produce:

                               cmake          autoconf
    git clone     release      7.2            7.2
    git clone     non-release  7.2-DATE+HASH  7.2-DATE
    git archive   release      7.2            7.2
    git archive   non-release  7.2            7.2
    dist tarball  release      N/A            7.2
    dist tarball  non-release  N/A            7.2-DATE
2024-02-07 00:47:35 +01:00
Hans Ulrich Niedermann
e58b344414 Use Github issues page for AC_INIT bug reports 2024-02-07 00:47:34 +01:00
Hans Ulrich Niedermann
acb7ba4d88 Multi line AC_INIT for improved overview 2024-02-07 00:47:34 +01:00
Hans Ulrich Niedermann
962cb030b2 gitignore tarballs generated by "make dist" 2024-02-07 00:47:34 +01:00
Hans Ulrich Niedermann
ce1bc3e34f Allow repeated doc builds without errors (Autotools)
Sometimes when building with the Autoconf buildsystem,
the avrdude-html/ subdir already exists and therefore
renaming the newly built avrdude/ subdir to avrdude-html/
cannot succeed.

Removing the old avrdude-html/ subdir first fixes that.
2024-02-07 00:47:34 +01:00
stefanrueger
1a64d3831b Update NEWS 2024-02-06 22:17:02 +13:00
Stefan Rueger
d68034c5c6 Merge pull request #1662 from stefanrueger/jtagmkii-updi
Read the signature on -c jtag2updi exit if last op was write/erase
PR is based on a draft sketch by @askn37
2024-02-06 22:14:25 +13:00
stefanrueger
83571e3310 Remove -l $logfile when echoing a failed avrdude command 2024-02-06 12:32:22 +13:00
stefanrueger
8fb650d148 Update NEWS 2024-02-06 10:36:03 +13:00
Stefan Rueger
c464ef1441 Merge pull request #1659 from dbuchwald/issue_1655
Enable writing of 512-byte pages for USERROW
2024-02-06 10:31:53 +13:00
Stefan Rueger
38781c8afd Merge pull request #1658 from stefanrueger/update-test-script
Update test script
2024-02-06 10:30:46 +13:00
stefanrueger
60f04f05fb Read the signature on -c jtag2updi exit if last op was write/erase 2024-02-06 10:24:10 +13:00
stefanrueger
cf2b362532 Remove -l $logfile when listing avrdude commands 2024-02-05 15:13:43 +13:00
stefanrueger
7bf69aad43 Check $avrdude_bin is executable 2024-02-05 14:51:18 +13:00
stefanrueger
f9246b81c4 Remove wildcard string matches in test script 2024-02-05 14:33:02 +13:00
stefanrueger
8f8316f08b Change integer test to string test to allow non-integer $elapsed 2024-02-05 14:11:41 +13:00
stefanrueger
e6c1229b71 Remove config eesave output from test-avrdude -v runs
-v is meant to only show AVRDUDE errors and warnings

Before this commit:

$ tools/test-avrdude -v -p "-c dryrun -p m328p"
Testing avrdude version 7.2-20240201 (571a8063)
Prepare "-c dryrun -p m328p" and press 'enter' or 'space' to continue. Press any other key to skip
   0.064 s: fuse access: clear, set and read eesave fuse bit
config eesave=ee_erased # 1
   0.068 s: fuse access: set eesave fusebit to delete EEPROM on chip erase
   0.068 s: chip erase
   0.068 s: flash -U write/verify holes_rjmp_loops_32768B.hex
   0.068 s: flash -T write/verify holes_rjmp_loops_32768B.hex
   0.068 s: eeprom check whether programmer can flip 0s to 1s
   0.069 s: eeprom -U write/verify holes_pack_my_box_1024B.hex
   0.067 s: eeprom -T write/verify holes_{the_five_boxing_wizards,pack_my_box}_1024B.hex
   0.068 s: chip erase and spot check flash is actually erased
   0.068 s: spot check eeprom is erased, too

After:

$ tools/test-avrdude -v -p "-c dryrun -p m328p"
Testing avrdude version 7.2-20240201 (571a8063)
Prepare "-c dryrun -p m328p" and press 'enter' or 'space' to continue. Press any other key to skip
   0.065 s: fuse access: clear, set and read eesave fuse bit
   0.068 s: fuse access: set eesave fusebit to delete EEPROM on chip erase
   0.067 s: chip erase
   0.068 s: flash -U write/verify holes_rjmp_loops_32768B.hex
   0.068 s: flash -T write/verify holes_rjmp_loops_32768B.hex
   0.066 s: eeprom check whether programmer can flip 0s to 1s
   0.069 s: eeprom -U write/verify holes_pack_my_box_1024B.hex
   0.068 s: eeprom -T write/verify holes_{the_five_boxing_wizards,pack_my_box}_1024B.hex
   0.067 s: chip erase and spot check flash is actually erased
2024-02-05 14:04:38 +13:00
Dawid Buchwald
00b8c83233 Preliminary fix for #1655 2024-02-03 12:33:24 +01:00
stefanrueger
571a8063b9 Update test-avrdude usage 2024-02-01 18:29:00 +13:00
stefanrueger
e3d4132997 Update NEWS 2024-02-01 17:30:33 +13:00
Stefan Rueger
0c8ac315cc Merge pull request #1651 from stefanrueger/tmpfiles
Create test-avrdude's temporary files in the script itself
2024-02-01 17:19:17 +13:00
stefanrueger
acd5584c62 Provide -T option for test-avrdude to add dryrun/dryboot tests 2024-02-01 15:21:34 +13:00
stefanrueger
2c677693f8 Exit test-avrdude with 1 if any failure occurred 2024-02-01 15:09:00 +13:00
stefanrueger
213fe7561f Create test-avrdude's temporary files in the script itself 2024-02-01 15:02:48 +13:00
stefanrueger
5684b85f86 Update NEWS 2024-01-31 15:08:40 +13:00
Stefan Rueger
03d9fb854c Merge pull request #1650 from stefanrueger/sed+tmp
Update test-avrdude script
2024-01-31 15:05:19 +13:00
Stefan Rueger
070a3f0b41 Merge pull request #1647 from MCUdude/pgm-delay
Add a fixed delay for AVR Dragon and Arduino Nano Every on port close
2024-01-31 15:04:35 +13:00
stefanrueger
370a15d032 Reduce default delay between avrdude test runs
- From 4 s to 0.75 s
 - Do not delay at all for -c dryrun/dryboot
 - Do not delay before first avrdude call in a series
2024-01-31 14:49:46 +13:00
stefanrueger
86af6b6d01 Add option test-avrdude -t <dir> for tmp directory 2024-01-31 11:44:16 +13:00
stefanrueger
8f46c531f1 Avoid sed -i in test-avrdude script 2024-01-31 11:38:53 +13:00