avrdudes / avrdude

AVRDUDE is a utility to program AVR microcontrollers
GNU General Public License v2.0
758 stars 139 forks source link

Using libavrdude as a standalone library #819

Open yegorich opened 2 years ago

yegorich commented 2 years ago

So far libavrdude will be built internally as a static library. For the common usage it has to provide the following features:

dl8dtl commented 2 years ago

the header file must not include local headers like ac_cfg.h

See PR #820 - you're welcome to review it.

dl8dtl commented 2 years ago

Btw., with PR #826 merged, I notice it's now either a shared or a static library. This is probably OK, but with autoconf/automake, both used to be built.

yegorich commented 2 years ago

Yes, this is normal CMake procedure. But there are tricks to make both like what libftdi1 makes.

Generally, it is not a problem. When you package avrdude, you would run the build twice with different options and use these artefacts. This is what Debian rules do for many CMake-based packages

dl8dtl commented 2 years ago

I just opened issue #827 - libavrdude.so is built but not installed.

mcuee commented 2 years ago

As of now, macOS and WIndows shared library build will fail.

Related discussion (including macOS patch)

Windows share library will fail now and need more work to get it working.

mcuee commented 1 year ago

Related issue:

As of now, it is not possible to build libavrdude.dll dynamic library under Windows.