Commit Graph

1501 Commits

Author SHA1 Message Date
mattias
f771d54e4a set fixes version 3.0 2023-12-17 11:23:58 +01:00
mattias
92077d69b5 updatemakefiles: update some more makefiles 2023-12-17 11:23:57 +01:00
ACTom
2b274da415 Translations: Chinese translation update by ACTom, merge request !247
(cherry picked from commit aaaca4ee83)
2023-10-31 01:55:59 +03:00
mattias
f5ee63fd14 set fixes version to 3.0RC2 2023-10-08 21:13:37 +02:00
Maxim Ganetsky
e2230d995d Tools: added missing *.res file for pofilemaintenance tool 2023-10-07 02:58:46 +03:00
Maxim Ganetsky
29cce82545 Tools: added missing *.res file for glazres tool 2023-10-07 02:57:57 +03:00
Martin
44756c803f Installer, Win: Add OPT="-OoNOSTACKFRAME" to fpc build. Help the debugger unwind callstacks
(cherry picked from commit b4244d781b)
2023-10-06 16:03:53 +02:00
mattias
748351eb53 lplupdate: read lazarus.cfg to ignore pcp 2023-09-12 14:40:23 +02:00
Maxim Ganetsky
620c6310cd LazDataDesktop: added executable to .gitignore
(cherry picked from commit 98e9e0dbcd)
2023-07-29 21:47:40 +03:00
Maxim Ganetsky
79e402a934 LazDataDesktop: updated Russian translation
(cherry picked from commit 3a0b3d3396)
2023-07-29 21:47:40 +03:00
Maxim Ganetsky
1e1777c537 LazDataDesktop: regenerated translations
(cherry picked from commit 90812b4afa)
2023-07-29 21:47:40 +03:00
wp_xyz
d7c6ef0c3f Tools/Lazdatadesktop: Fix LCLScaling in Windows.
(cherry picked from commit b4f8ae34b5)
2023-07-29 19:17:00 +02:00
wp_xyz
51fe97b1ff Tools/Lazdatadesktop: Final (?) tuning of the application icons. By Roland Hahn.
(cherry picked from commit fe828040ce)
2023-07-29 19:17:00 +02:00
wp_xyz
4d4e30d401 Tools/LazDataDesktop: Improved version of the Connections icon. By Roland Hahn.
(cherry picked from commit 203dbd08fd)
2023-07-29 19:16:59 +02:00
wp_xyz
917bbc62ec Tools/LazDatadesktop: Slightly improved images by Roland Hahn.
(cherry picked from commit 5bae6ebf52)
2023-07-29 19:16:59 +02:00
wp_xyz
5ad15d1262 Tools/LazDataDesktop: Show icons in all treeviews.
(cherry picked from commit 168ed6ffa0)
2023-07-29 19:16:59 +02:00
wp_xyz
a0e49c3ecb Tolls/LazDataDesktop: Remove unneeded res files. Unscramble some image index assignments.
(cherry picked from commit bfca6f229d)
2023-07-29 19:16:58 +02:00
wp_xyz
4707dcf7b4 Tools/LazDataDesktop: Some new/improved icons by Roland Hahn. Improvements in data dictionary popup menu translation.
(cherry picked from commit 3b1c10423f)
2023-07-29 19:16:58 +02:00
wp_xyz
4f134dfcbf Tools/LazDatadesktop: Improved layout
(cherry picked from commit 7c6659ba46)
2023-07-29 19:16:58 +02:00
wp_xyz
ca916807ba Tools/LazDataDesktop: Refactoring of icons: new icons by Roland Hahn merged to a single image list in new data module.
(cherry picked from commit fe3b5ca955)
2023-07-29 19:16:57 +02:00
wp_xyz
e418946b31 LazDatadesktop: Update German translation
(cherry picked from commit a0179e8133)
2023-07-29 19:16:57 +02:00
mattias
8f77121493 updatemakefiles: read new lpk format 2023-07-14 16:44:09 +02:00
Juha
fea934fb8b Svn2RevisionInc: Do not warn about missing SVN client. Issue #40359, patch by Don Siders.
(cherry picked from commit 4db3bb880c)
2023-07-03 16:39:16 +03:00
mattias
0adf3f35d6 deb: fixed lazarus tgz 2023-06-28 23:54:13 +02:00
mattias
5d47fc0e33 deb: fixed copying changelog and delete git files 2023-06-27 00:59:28 +02:00
mattias
edc5ef63a2 rpm: fixed build 2023-06-25 19:58:08 +02:00
mattias
5624f636d8 deb: fixed export tgz, fixed RC version number turning RC into .0 2023-06-25 19:48:11 +02:00
mattias
fe3389fc58 set fixes version to 3.0RC1 2023-06-25 17:59:59 +02:00
Abou Al Montacir
25b8bc2160 git2pas: Removed unneeded conditional compilation flag.
This allows having the same code compiled for both Windows and Linux.
2023-06-18 20:15:15 +02:00
Abou Al Montacir
bcf79bffc1 gir2pas: Fixed generation of types based on int32 standard C type.
This fixes code generated for FreeType library.
Now FreeType bindings generated code does not need any manual change
to be used in Lazarus.
2023-06-18 16:24:01 +00:00
Abou Al Montacir
ed310974db gir2pas: Enabled passing max version CLO multiple times.
This allows to constraint each library separately, as for example:
```sh
gir2pas -e Set -i /usr/share/gir-1.0/Gtk-3.0.gir -o gtk3-test \
        -M atk-2.36 \
        -M pango-1.16 \
        -M pangocairo-1.46 \
        -M glib-2.66 \
        -M gtk-3.24
```
2023-06-18 14:30:11 +00:00
Abou Al Montacir
d94e263cdc gir2pas: Fixed generation of enumeration types other than bit fields.
When enum types is set as `goEnumAsSet` by user, we need to add
`goEnumAsEnum` also in order to correctly handle non bit fields enums.

This should be done at the very beginning, upon CLO handling, otherwise
some enums are generated as integer constants.
2023-06-17 21:57:38 +02:00
Abou Al Montacir
ec6cbdbee7 gir2pas: Fixed make file.
Create units output directory upon build.

Remove output directory recursively.
2023-06-17 21:57:38 +02:00
Maxim Ganetsky
f80440d58b Translations: Ukrainian translation update by Olexandr Pylypchuk, issue #40312 2023-06-12 18:20:35 +03:00
Maxim Ganetsky
065d9a7d64 LazDataDesktop: use GetLanguageIDFromLocaleName function from Translations unit to properly extract language code from language name passed via command-line option 2023-06-12 16:41:34 +03:00
Maxim Ganetsky
22f596f8bb LazDataDesktop: migrated to using GetLanguageID function from Translations unit 2023-06-12 04:11:45 +03:00
Abou Al Montacir
aba8308de3 gir2pas: Fixed issues when generating bit fields with a null or duplicate masks.
In this case, the code used to create a wrong index with value 255.
This is now detected and fixed.

Also, the code was not able to handle bit fields with duplicates.
Now this is also fixed.
2023-06-04 19:11:02 +02:00
Abou Al Montacir
524cc642eb Enabled generating code for bit masks defined within C bitfields enum.
These masks are handled as non typed set constants.
2023-06-04 14:04:45 +02:00
Abou Al Montacir
cd0756f17b gir2pas: Enabled generating Pascal sets to C bitfield enums by CLO.
Based on command line option (CLO) `-e/--declare-enums-as` that
selects the way how to define C enums and bit fields.

Added support for 5th options in addition 4 already implemented.
 1. `IntConst`: No type, just use integer non typed constants. This was
    already implemented, but not easily selected at CLI.
 2. `TypedIntConst`: Use non strict type aliases and typed constants.
    This was already implemented, selected by default in the code.
 3. `IntAliasConst`: Use strict type aliases and non typed constants.
    This was newly added.
 4. `Enum`: Use Pascal enumeration type for both C enums and bit fields.
    This was newly added.
 5. `Set`: Use Pascal enumeration type for both C enums and Pascal sets
    for bit fields. This is now implemented.
2023-06-04 10:10:42 +00:00
Abou Al Montacir
bb05d66329 Renamed executable from gir2pascal to gir2pas. 2023-06-04 10:10:42 +00:00
Abou Al Montacir
050dfa3884 gir2pascal: Small code improvements.
These changes are:
 1. Added line break to last line of generated files.
 2. Removed unused field `FEnumImpl` from `TGirConsoleConverter`.
 3. Moved command line from .lpi to .lps as this depends on the path
    of the user debugging the program.
2023-05-27 15:53:56 +00:00
Abou Al Montacir
b2013f8634 Fixed issue causing generation of duplicate declarations for some opaque types.
There was an issue with the logic for resolving opaque types that misses
some types due to not comparing C types with opaque type name.

This is now fixed and all Gtk3 units now compile without any manual
modification.

Tested with
43cac7495f
using
`./gir2pas/gir2pas -i gir-rs-files/Gtk-3.0.gir -o gtk3-test-enums -e Enum`
2023-05-23 12:57:27 +00:00
Abou Al Montacir
0838345684 Fixed generation of unnamed unions handling within objects.
The generated code was missing an identifier and thus was unable to
compile.

Now we generated a name based on the type and this seems for fix the
issues with Gtk3.gir file.
2023-05-22 22:22:51 +00:00
Abou Al Montacir
8ebe4628c8 Generate pointer types for all declared types.
If the type is not used within the unit it was declared in, then pointer
types will not generated. This causes an error when a pointer type is
used by a unit using it.

An example is a compilation error on `Pango1` that uses `Glib2` because
the type `Pgconstpointer` was not defined.

The new code generates a lost of pointer types, but at least it allows
get a code that compiles fine.
2023-05-21 22:09:42 +00:00
Abou Al Montacir
08ee4a27b4 gir2pascal: Created a dedicated section for declaring enumeration types, issue #FP39988.
This section is placed just after the constants section in order to
avoid declaration of function parameters and variables of enumeration
types that are not yet declared.

The issue was hidden in the typed constants implementation because the
constants section is placed at the beginning of the unit. This is not
true anymore and thus we need a dedicated section.
2023-05-21 15:50:48 +00:00
Abou Al Montacir
194cc1a4fc git2pascal: Refactored code to avoid duplication.
Inserting `external` directive for `C` identifiers was done manually.
This commit adds a method to add such a directive for any identifier.
This helps keeping inserted code consistent and if a change is to be
done in the future, we do it at one place only.
2023-05-20 13:32:33 +00:00
Abou Al Montacir
5c6f02b8ee gir2pascal: Used consistent naming of MsWindows directive.
Compilation directive `MsWindows`is inserted in 3 different places with
3 different case mixing.

Also white spaces around it are some times added and sometimes not.

This commit fixes all to a single convention.
2023-05-19 18:58:31 +02:00
Abou Al Montacir
d1f64050ea gir2pascal: Generate C enums based pascal type selected by CLO, issue #39988.
Added a new command line option (CLO) `-e/--declare-enums-as` that
selects the way how to define C enums and bit fields.

Added support for 4 options and a 5th to be implemented later.
 1. `IntConst`: No type, just use integer non typed constants. This was
    already implemented, but not easily selected at CLI.
 2. `TypedIntConst`: Use non strict type aliases and typed constants.
    This was already implemented, selected by default in the code.
 3. `IntAliasConst`: Use strict type aliases and non typed constants.
    This was newly added.
 4. `Enum`: Use Pascal enumeration type for both C enums and bit fields.
    This was newly added.
 5. `Set`: Use Pascal enumeration type for both C enums and Pascal sets
    for bit fields. This is not yet added.
2023-05-18 10:44:10 +02:00
Abou Al Montacir
7920db790b Issue #39988: Forbid duplicate paths in directories search list.
As the directories search list is not sorted, FPC implementation of
`TStringList` ignores the `dupIgnore` option and thus leads to having
the same entry multiple times in the list.

We forbid this manually in order to avoid searching multiple times for
the same file in the very same directory.

We also add more default search paths (Debian based).
2023-05-12 21:44:21 +00:00
Abou Al Montacir
9c5b942b66 Issue #39988: Use system path separator instead in folders search list.
This is more consistent with other tools and allows passing drives on
MS Windows systems.
2023-05-12 21:44:21 +00:00