Jay Berkenbilt
c7e877b88b
Update documentation for PointerHolder transition
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
ef2b84c6c3
Enable PointerHolder warning and define POINTERHOLDER_IS_SHARED_POINTER
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
128e41648f
Remove PointerHolder.hh from other than public header files
...
Increase to POINTERHOLDER_TRANSITION=4
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
ba0ef7a124
Replace PointerHolder with std::shared_ptr in the rest of the code
...
Increase to POINTERHOLDER_TRANSITION=3
patrepl s/PointerHolder/std::shared_ptr/g **/*.cc **/*.hh
patrepl s/make_pointer_holder/std::make_shared/g **/*.cc
patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g **/*.cc
patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh
git restore include/qpdf/PointerHolder.hh
git restore libtests/pointer_holder.cc
cleanpatch
./format-code
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
a68703b07e
Replace PointerHolder with std::shared_ptr in library sources only
...
(patrepl and cleanpatch are my own utilities)
patrepl s/PointerHolder/std::shared_ptr/g {include,libqpdf}/qpdf/*.hh
patrepl s/PointerHolder/std::shared_ptr/g libqpdf/*.cc
patrepl s/make_pointer_holder/std::make_shared/g libqpdf/*.cc
patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g libqpdf/*.cc
patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh
git restore include/qpdf/PointerHolder.hh
cleanpatch
./format-code
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
ae819b5318
Rewrite PointerHolder as derived from std::shared_ptr
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
ec21910066
Bump version to 11.0.0, indicating ABI-breaking changes
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
37f7f57dc5
Don't hard-code soname in build-appimage
2022-04-09 17:33:29 -04:00
Jay Berkenbilt
08fb583449
Remove accidentally committed file
2022-04-09 14:37:00 -04:00
Jay Berkenbilt
05de8a111a
Add formatting code to release checklist
2022-04-09 12:39:32 -04:00
Jay Berkenbilt
59834db472
Add documentation for code formatting and contribution guidelines
2022-04-09 12:25:08 -04:00
Jay Berkenbilt
ece6b6feb4
Add format-code script
2022-04-09 11:56:30 -04:00
Jay Berkenbilt
554a870b81
spell-check: quote wildcards
2022-04-09 11:50:01 -04:00
Jay Berkenbilt
31a81f6bab
Note about app-image build testing
2022-04-05 14:56:19 -04:00
Jay Berkenbilt
2e41b805bd
Update TODO with additional notes
2022-04-05 14:56:19 -04:00
Jay Berkenbilt
77e889495f
Update some code manually to get better formatting results
...
Add comments to force line breaks, parenthesize function arguments
that are contatenated strings, etc. -- these kinds of changes improve
clang-format's results and also cause emacs cc-mode to match
clang-format. After this type of change, most of the time, when
clang-format and emacs disagree, clang-format is better.
2022-04-05 14:56:19 -04:00
Jay Berkenbilt
12f1eb15ca
Programmatically apply new formatting to code
...
Run this:
for i in **/*.cc **/*.c **/*.h **/*.hh; do
clang-format < $i >| $i.new && mv $i.new $i
done
2022-04-04 08:10:40 -04:00
Jay Berkenbilt
f20fa61eb4
Add .clang-format and .dir-locals.el files to set coding style
...
Configure emacs and clang-format 15 to the coding style I am choosing
for qpdf.
2022-04-04 08:10:40 -04:00
Jay Berkenbilt
97fc98901c
Protect gnutls headers from clang-format rearranging them
2022-04-04 08:05:39 -04:00
Jay Berkenbilt
33caed4f17
Exclude formatting on embedded native crypto
2022-04-03 17:58:36 -04:00
Jay Berkenbilt
80801e4c56
TODO note
2022-04-03 17:58:34 -04:00
Jay Berkenbilt
c78229b4e6
Fix AppImage build: need LD_LIBRARY_PATH
...
I'm not sure why this is needed now and wasn't needed before since the
cmake changes have been in main for a while and there don't appear to
be recent changes to the appimage build tools.
This change adds to lib directory to LD_LIBRARY_PATH so the appimage
tools' ldd check will pass. This is an appropriate change since the
directory that is added will be in the standard load path when
installed.
2022-04-02 13:59:01 -04:00
Jay Berkenbilt
f8e97e0ed5
Put spaces around version constraint in pkg-config ( fixes #677 )
...
Also add a pkg-config runtime test that would have caught the error.
2022-03-23 10:52:40 -04:00
Jay Berkenbilt
336062930d
Fix typo in previous fix
2022-03-19 19:45:44 -04:00
Jay Berkenbilt
6dcb26d21e
Fix test for whether atomic library is needed
...
Some platforms need it for atomic<long long> but not for atomic<int>.
2022-03-19 18:19:44 -04:00
Jay Berkenbilt
198b96471a
Notes for next release
2022-03-19 08:57:47 -04:00
Jay Berkenbilt
e4484fd94c
Update ChangeLog and release notes
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
820a3f04fd
Remove "lt-" workarounds
...
The executables that libtool built invoked the underlying binary with
an "lt-" prefix. The code contained numerous workarounds for testing,
which can now be removed.
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
e316e90d1f
Add installed package smoke tests in pkg-test directory
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
acdf5b2e7a
Update process for ABI testing
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
4c0addfe66
Update instructions for testing pikepdf
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
bc17d2a2a2
Update paths in performance_check
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
11e34f29ce
TODO: update section for cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
96839decd0
TODO note about linux32 large file tests
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
2001fd5677
Add spell checker (formerly in Makefile)
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
f58d2a60d5
Update build-related documentation and comments
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
70d0d0889b
Remove old build files
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
87db567e1f
Convert oss-fuzz-build to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
5ee21c67c9
Convert build-windows to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
585be5a82e
Convert test-sanitizers to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
ab467e1f01
Convert build-mac to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
8703e6253d
Convert build-linux32 to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
6d7c0badc1
Convert build-linux to cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
702058a1c3
Convert make_dist to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
2515498c36
Convert build-doc to cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
1b85faa61a
Convert AppImage build to use cmake
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
3a902ad20a
CMake wrapper for Windows
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
aacf48a2e0
Update configure commands to cmake in README-maintainer
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
b8aff90997
Add cmake configuration files
2022-03-18 19:53:18 -04:00
Jay Berkenbilt
105862da3e
Add ico file for Windows installer
2022-03-18 19:53:18 -04:00