Define from one package are visible in another package

In reply to cgales:

Actually I referred to some old post where similar has been discussed : Compilation Issue from define in package | Verification Academy

Accordingly as I understand `define/macros are likely to be pre-processed before compilation can begin. When compilation of package p2 start, WIDTH is not likely to be visible … isn’t it?