Skip to content

Standardize build and file structure#43

Merged
tboegi merged 3 commits intomasterfrom
andre/standardize-build
Apr 9, 2026
Merged

Standardize build and file structure#43
tboegi merged 3 commits intomasterfrom
andre/standardize-build

Conversation

@AndreFavotto
Copy link
Copy Markdown
Collaborator

@AndreFavotto AndreFavotto commented Mar 30, 2026

Main changes:
1 - "install" is now the default target of "make" (i.e., produce binaries by default). This is the standard EPICS behaviour, but we did not have this here, so "make install" was always needed to get bin/.
2 - Make example IOC and other files in the default file structure (makeBaseApp.pl) instead of old e3 template.
3 - remove broken startup files that referenced ethercatmc

Details in the commit messages.

@AndreFavotto AndreFavotto force-pushed the andre/standardize-build branch 2 times, most recently from 74c5c3f to 3954677 Compare March 30, 2026 12:06
@AndreFavotto AndreFavotto marked this pull request as ready for review March 30, 2026 12:17
@AndreFavotto AndreFavotto requested a review from tboegi March 30, 2026 12:19
In a default EPICS build, running "make" results in a bin/ folder with
the binaries for the IOC to be ran (in here, adsExApp). At the moment,
since we separate "build" and "install" steps, running make does not
produce binaries. Fix that by setting "install" as the default target.
One can still only build if needed by running "make build".
@AndreFavotto AndreFavotto force-pushed the andre/standardize-build branch 2 times, most recently from 954f39d to 3d7fd95 Compare April 1, 2026 14:52
@AndreFavotto AndreFavotto requested a review from tboegi April 1, 2026 14:55
This modules used an old e3 template when it was born.
Different from the default module structure obtained from "makeBaseApp",
we did not have a "iocBoot" folder, the startup script did not use the
common binary shebang, and did not load the default dbd files.

While this is possible to understand and workaround for people familiar
with e3 system, it adds some extra steps for newcomers which are
unnecessary, especially now that e3 is moving towards the default
community, EPICS vanilla, format.

This commit changes Makefiles and file structure to match the output
from makeBaseApp.pl script.

While there: two startup scripts named adsMotorRecord.cmd and
adsMotorRecordOnly.cmd were present in the repo, but broken. They tried
to load elements from [1], which is not part of this module, and were
remainings of old versions [2] that used require.

[1]: https://github.com/EuropeanSpallationSource/m-epics-ethercatmc
[2]: https://github.com/epics-modules/twincat-ads/blob/e1ce7b81e2ed131f61fbccac20ada0b496015722/startup/adsMotorRecordOnly.cmd
@AndreFavotto AndreFavotto force-pushed the andre/standardize-build branch from 3d7fd95 to 8277b38 Compare April 1, 2026 15:07
@AndreFavotto AndreFavotto requested review from tboegi and removed request for tboegi April 8, 2026 13:07
@tboegi
Copy link
Copy Markdown
Contributor

tboegi commented Apr 9, 2026

The stuff doesn't seem to compile ?

../RegistryAccess.cpp:8:10: fatal error: 'wrap_registry.h' file not found
    8 | #include "wrap_registry.h"
      |          ^~~~~~~~~~~~~~~~~
1 error generated.
make[4]: *** [RegistryAccess.o] Error 1

@AndreFavotto
Copy link
Copy Markdown
Collaborator Author

AndreFavotto commented Apr 9, 2026

@tboegi which OS/arch are you on? The pipelines compiled successfully a series of times (you can check the logs), my local build also works fine.
Isn't it something with your local environment? Maybe we need to add other pipeline build

@tboegi
Copy link
Copy Markdown
Contributor

tboegi commented Apr 9, 2026

@AndreFavotto This is under MacOS. The second time it compiled. Strange. I will merge.

@tboegi tboegi merged commit 3ab2231 into master Apr 9, 2026
12 checks passed
@AndreFavotto AndreFavotto deleted the andre/standardize-build branch April 10, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants